haproxy/include/proto
Willy Tarreau 21028b5e7f MEDIUM: appctx: check for allocation attempts in buffer allocation callbacks
The buffer allocation callback appctx_res_wakeup() used to rely on old
tricks to detect if a buffer was already granted to an appctx, namely
by checking the task's state. Not only this test is not valid anymore,
but it's inaccurate.

Let's solely on SI_FL_WAIT_ROOM that is now set on allocation failure by
the functions trying to allocate a buffer. The buffer is now allocated on
the fly and the flag removed so that the consistency between the two
remains granted. The patch also fixes minor issues such as the function
being improperly declared inline(!) and the fact that using appctx_wakeup()
sets the wakeup reason to TASK_WOKEN_OTHER while we try to use TASK_WOKEN_RES
when waking up consecutive to a ressource allocation such as a buffer.
2018-11-11 10:18:37 +01:00
..
acl.h
action.h
applet.h MEDIUM: appctx: check for allocation attempts in buffer allocation callbacks 2018-11-11 10:18:37 +01:00
arg.h
auth.h
backend.h
channel.h MEDIUM: channel: merge back flags CF_WRITE_PARTIAL and CF_WRITE_EVENT 2018-10-26 08:32:57 +02:00
checks.h
cli.h MEDIUM: mworker: stop the master proxy in the workers 2018-10-28 14:03:31 +01:00
compression.h
connection.h MINOR: proxy: add a new option "http-use-htx" 2018-10-23 10:22:36 +02:00
dns.h
fd.h MINOR: fd: centralize poll timeout computation in compute_poll_timeout() 2018-10-17 19:59:43 +02:00
filters.h
flt_http_comp.h
freq_ctr.h MINOR: freq_ctr: add swrate_add_scaled() to work with large samples 2018-10-22 08:13:57 +02:00
frontend.h
h1.h MINOR: h1: Export some functions parsing the value of some HTTP headers 2018-10-23 10:22:36 +02:00
hdr_idx.h
hlua_fcn.h
hlua.h
http_fetch.h REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_rules.h REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
lb_chash.h
lb_fas.h
lb_fwlc.h
lb_fwrr.h
lb_map.h
listener.h
log.h MINOR: log: One const should be enough. 2018-09-06 18:52:15 +02:00
map.h
mux_pt.h
obj_type.h
openssl-compat.h MINOR: ssl: generate-certificates for BoringSSL 2018-10-08 09:42:34 +02:00
pattern.h
payload.h
peers.h BUILD: peers: check allocation error during peers_init_sync() 2018-10-15 13:24:43 +02:00
pipe.h
port_range.h
proto_http.h MINOR: http: Export some functions and do cleanup to prepare HTTP refactoring 2018-10-12 16:00:45 +02:00
proto_sockpair.h MEDIUM: protocol: sockpair protocol 2018-09-12 07:20:17 +02:00
proto_tcp.h MINOR: connection: make conn_sock_drain() work for all socket families 2018-08-24 14:45:46 +02:00
proto_udp.h
protocol.h MEDIUM: protocol: use a custom AF_MAX to help protocol parser 2018-09-12 07:12:27 +02:00
proxy.h MINOR: proxy: add a new generic proxy_capture_error() 2018-09-07 18:36:04 +02:00
queue.h MEDIUM: add set-priority-class and set-priority-offset 2018-08-10 15:06:31 +02:00
raw_sock.h
sample.h MINOR: sample: remove impossible tests on negative smp->data.u.str.data 2018-08-22 05:28:33 +02:00
server.h MINOR: server: export new_server() function 2018-10-28 13:51:38 +01:00
session.h
shctx.h MINOR: shctx: Change max. object size type to unsigned int. 2018-10-26 04:54:40 +02:00
signal.h MEDIUM: startup: unify signal init between daemon and mworker mode 2018-09-11 10:21:58 +02:00
spoe.h
ssl_sock.h
stats.h MINOR: stats: Add missing include 2018-10-12 16:00:32 +02:00
stick_table.h MINOR: stktable: provide an unchecked version of stktable_data_ptr() 2018-09-20 11:42:15 +02:00
stream_interface.h MEDIUM: stream-int: make si_update() synchronize flag changes before the I/O 2018-10-28 13:47:00 +01:00
stream.h MEDIUM: stream: implement stream_buf_available() 2018-11-11 10:18:37 +01:00
task.h OPTIM: tasks: group all tree roots per cache line 2018-10-15 19:06:13 +02:00
tcp_rules.h
template.h
vars.h