haproxy/src
Willy Tarreau 47baeb85d4 MEDIUM: stream-int: unconditionally call si_chk_rcv() in update and notify
For a long time, stream_int_update() and stream_int_notify() used to only
conditionally call si_chk_rcv() based on state change detection. This
detection is not reliable and quite complex. With the new blocked flags
that si_chk_rcv() checks, it's much more reliable to always call the
function to take into account recent changes,and let it decide if it needs
to wake something up or not.

This also removes the calls to si_chk_rcv() that were performed in
si_update_both() since these ones are systematically performed in
stream_int_update() after updating the Rx flags.
2018-11-18 21:41:49 +01:00
..
51d.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
acl.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
action.c MINOR: action: Add function to check rules using an action ACT_ACTION_TRK_* 2017-10-31 11:36:12 +01:00
applet.c MINOR: stream-int: replace si_{want,stop}_put() with si_rx_endp_{more,done}() 2018-11-18 21:41:47 +01:00
arg.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
auth.c MEDIUM: auth/threads: make use of crypt_r() on systems supporting it 2018-10-29 19:17:39 +01:00
backend.c BUG/MINOR: backend: assign the wait list after the error check 2018-10-28 20:36:00 +01:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
cache.c MEDIUM: stream-int: fix the si_cant_put() calls used for buffer readiness 2018-11-18 21:41:48 +01:00
cfgparse.c BUG/MINOR: config: Copy default error messages when parsing of a backend starts 2018-11-18 06:17:03 +01:00
channel.c BUG/MEDIUM: buffers: Make sure we don't wrap in ci_insert_line2/b_rep_blk. 2018-10-08 16:11:54 +02:00
checks.c MEDIUM: connections: Don't directly mess with the polling from the upper layers. 2018-10-21 05:58:40 +02:00
chunk.c MINOR: chunk: remove impossible tests on negative chunk->data 2018-08-22 05:28:32 +02:00
cli.c MEDIUM: stream-int: fix the si_cant_put() calls used for buffer readiness 2018-11-18 21:41:48 +01:00
compression.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
connection.c MEDIUM: connections: Don't directly mess with the polling from the upper layers. 2018-10-21 05:58:40 +02:00
da.c CLEANUP: http: remove some leftovers from recent cleanups 2018-10-02 18:37:27 +02:00
dns.c MINOR: stream-int: rename SI_FL_WAIT_ROOM to SI_FL_RXBLK_ROOM 2018-11-18 21:41:45 +01:00
ev_epoll.c MINOR: poller: move time and date computation out of the pollers 2018-10-17 19:59:43 +02:00
ev_kqueue.c MINOR: poller: move time and date computation out of the pollers 2018-10-17 19:59:43 +02:00
ev_poll.c MINOR: poller: move time and date computation out of the pollers 2018-10-17 19:59:43 +02:00
ev_select.c MINOR: poller: move time and date computation out of the pollers 2018-10-17 19:59:43 +02:00
fd.c MEDIUM: fd/threads: only grab the fd's lock if the FD has more than one thread 2018-10-15 13:25:06 +02:00
filters.c DOC: Fix typos in lua documentation 2018-09-14 09:31:34 +02:00
flt_http_comp.c REORG: http: move some header value processing functions to http.c 2018-09-11 10:30:25 +02:00
flt_spoe.c MINOR: stream-int: replace si_{want,stop}_put() with si_rx_endp_{more,done}() 2018-11-18 21:41:47 +01:00
flt_trace.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
freq_ctr.c BUG/MAJOR: threads/freq_ctr: use a memory barrier to detect changes 2017-10-31 18:01:18 +01:00
frontend.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
h1.c MINOR: h1: Add the flag H1_MF_NO_PHDR to not add pseudo-headers during parsing 2018-10-12 16:15:18 +02:00
h2.c BUG/MEDIUM: h2: implement missing support for chunked encoded uploads 2018-04-26 10:20:44 +02:00
haproxy.c MEDIUM: jobs: support unstoppable jobs for soft stop 2018-11-16 17:05:40 +01:00
hash.c MINOR: hash: add new function hash_crc32c 2018-03-21 05:04:01 +01:00
hathreads.c BUG/MEDIUM: threads: fix thread_release() at the end of the rendez-vous point 2018-10-16 17:03:16 +02:00
hdr_idx.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
hlua.c MEDIUM: stream-int: fix the si_cant_put() calls used for buffer readiness 2018-11-18 21:41:48 +01:00
hlua_fcn.c MEDIUM: lua: Add stick table support for Lua. 2018-09-29 20:15:01 +02:00
hpack-dec.c BUG/CRITICAL: hpack: fix improper sign check on the header index value 2018-09-20 11:45:56 +02:00
hpack-enc.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
hpack-huff.c BUG/MINOR: hpack: must reject huffman literals padded with more than 7 bits 2017-12-03 21:08:39 +01:00
hpack-tbl.c BUG/CRITICAL: hpack: fix improper sign check on the header index value 2018-09-20 11:45:56 +02:00
http.c MINOR: http: Implement "early-hint" http request rules. 2018-11-12 21:08:55 +01:00
http_acl.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_act.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
http_conv.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_fetch.c BUG/MINOR: http_fetch: Remove the version part when capturing the request uri 2018-11-16 16:05:51 +01:00
http_rules.c MINOR: http: Make new "early-hint" http-request action really be parsed. 2018-11-12 21:08:55 +01:00
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fas.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fwlc.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fwrr.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_map.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
listener.c MEDIUM: listeners: set O_CLOEXEC on the accepted FDs 2018-10-28 14:03:31 +01:00
log.c BUG/MEDIUM: log: don't CLOEXEC the inherited FDs 2018-11-13 19:32:45 +01:00
lru.c MINOR: lru: new function to delete <nb> least recently used keys 2016-01-11 07:31:35 +01:00
mailers.c MEDIUM: Add parsing of mailers section 2015-02-03 00:24:16 +01:00
map.c MINOR: stream-int: rename si_applet_{want|stop|cant}_{get|put} 2018-11-11 10:18:37 +01:00
memory.c MINOR: stream-int: rename si_applet_{want|stop|cant}_{get|put} 2018-11-11 10:18:37 +01:00
mux_h2.c MINOR: mux: implement a get_first_cs() method 2018-11-18 21:29:20 +01:00
mux_pt.c MINOR: mux: implement a get_first_cs() method 2018-11-18 21:29:20 +01:00
namespace.c MINOR: namespaces: don't build namespace.c if disabled 2018-11-12 19:15:15 +01:00
pattern.c BUG/MEDIUM: patterns: fix possible double free when reloading a pattern list 2018-09-19 06:46:51 +02:00
payload.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
peers.c MINOR: stream-int: rename si_applet_{want|stop|cant}_{get|put} 2018-11-11 10:18:37 +01:00
pipe.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
proto_http.c BUG/MINOR: http: Be sure to sent fully formed HTTP 103 responses 2018-11-16 16:05:51 +01:00
proto_sockpair.c BUILD: sockpair: silence a build warning at -Wextra 2018-09-20 11:42:15 +02:00
proto_tcp.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
proto_udp.c CLEANUP: fix inconsistency between fd->iocb, proto->accept and accept() 2016-04-14 11:18:22 +02:00
proto_uxst.c MINOR: connection: make conn_sock_drain() work for all socket families 2018-08-24 14:45:46 +02:00
protocol.c MEDIUM: protocol: use a custom AF_MAX to help protocol parser 2018-09-12 07:12:27 +02:00
proxy.c MEDIUM: listeners: support unstoppable listener 2018-11-16 17:05:40 +01:00
queue.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
raw_sock.c MINOR: connections: Introduce an unsubscribe method. 2018-10-11 15:34:21 +02:00
regex.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
sample.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
server.c MINOR: stream-int: rename si_applet_{want|stop|cant}_{get|put} 2018-11-11 10:18:37 +01:00
session.c BUG/MINOR: tasks: make sure wakeup events are properly reported to subscribers 2018-11-05 17:15:21 +01:00
sha1.c IMPORT: sha1: import SHA1 functions 2017-10-25 04:45:48 +02:00
shctx.c MINOR: shctx: Change max. object size type to unsigned int. 2018-10-26 04:54:40 +02:00
signal.c MEDIUM: startup: unify signal init between daemon and mworker mode 2018-09-11 10:21:58 +02:00
ssl_sock.c MINOR: stream-int: rename si_applet_{want|stop|cant}_{get|put} 2018-11-11 10:18:37 +01:00
standard.c MEDIUM: protocol: sockpair protocol 2018-09-12 07:20:17 +02:00
stats.c MEDIUM: stream-int: fix the si_cant_put() calls used for buffer readiness 2018-11-18 21:41:48 +01:00
stick_table.c BUG/MEDIUM: Make sure stksess is properly aligned. 2018-11-15 14:24:05 +01:00
stream.c MINOR: stream-int: replace si_{want,stop}_put() with si_rx_endp_{more,done}() 2018-11-18 21:41:47 +01:00
stream_interface.c MEDIUM: stream-int: unconditionally call si_chk_rcv() in update and notify 2018-11-18 21:41:49 +01:00
task.c OPTIM: tasks: group all tree roots per cache line 2018-10-15 19:06:13 +02:00
tcp_rules.c BUG/MINOR: build: Fix compilation with debug mode enabled 2018-07-20 10:45:20 +02:00
time.c MEDIUM: time: measure the time stolen by other threads 2018-10-19 08:51:59 +02:00
trace.c CONTRIB: trace: try to display the function's return value on exit 2017-10-24 19:54:25 +02:00
uri_auth.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
vars.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
wurfl.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
xxhash.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00