haproxy/src
Willy Tarreau 908d26fd03 MINOR: stream-int: don't needlessly call si_cs_send() in si_cs_process()
There's a call there to si_cs_send() while we're supposed to come from
si_cs_io_cb() which has just done it. But in fact we can also come here
as a lower layer callback from ->wake() after a connection is established.
Since most of the time we'll end up here with either no data in the buffer
or a blocked output, let's simply check if we're already susbcribed to send
events before calling si_cs_send().
2018-10-28 13:50:02 +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 MEDIUM: stream-int: replace channel_alloc_buffer() with si_alloc_ibuf() everywhere 2018-10-28 13:47:00 +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: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
backend.c BUG/MINOR: only auto-prefer last server if lb-alg is non-deterministic 2018-10-27 22:10:32 +02: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 MINOR: cache: Avoid usage of atoi() when parsing "max-object-size". 2018-10-26 04:54:40 +02:00
cfgparse.c MINOR: proxy: add a new option "http-use-htx" 2018-10-23 10:22:36 +02: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: time: measure the time stolen by other threads 2018-10-19 08:51:59 +02: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 BUILD: dns: fix null-deref build warning at -Wextra 2018-09-20 11:42:15 +02: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 REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02: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 BUG/MEDIUM: mworker: don't poll on LI_O_INHERITED listeners 2018-10-12 19:30:18 +02: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_fcn.c MEDIUM: lua: Add stick table support for Lua. 2018-09-29 20:15:01 +02:00
hlua.c MEDIUM: stream-int: replace channel_alloc_buffer() with si_alloc_ibuf() everywhere 2018-10-28 13:47:00 +01: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_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 REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_rules.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
http.c REORG: http: move some header value processing functions to http.c 2018-09-11 10:30:25 +02: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: protocol: sockpair protocol 2018-09-12 07:20:17 +02:00
log.c MINOR: log: make sess_log() support sess=NULL 2018-10-12 16:58:01 +02: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 BUG/MEDIUM: map: don't store exp_replace() result in the trash's length 2018-08-22 05:16:33 +02:00
memory.c BUG/MEDIUM: pools: fix the minimum allocation size 2018-10-23 14:40:23 +02:00
mux_h2.c MINOR: h2: Don't run tasks that are waiting to send if mux in full. 2018-10-21 06:00:13 +02:00
mux_pt.c MEDIUM: connections: Don't directly mess with the polling from the upper layers. 2018-10-21 05:58:40 +02:00
namespace.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02: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: peers: use defines instead of enums to appease clang. 2018-10-16 19:31:15 +02: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 MINOR: stream: don't prune variables if the list is empty 2018-10-28 13:46:47 +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: snapshot: merge the captured data after the descriptor 2018-09-07 20:07:17 +02: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 CLEANUP: state-file: make the path concatenation code a bit more consistent 2018-10-16 19:26:12 +02:00
session.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02: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 BUG/MINOR: ssl: Wrong usage of shctx_init(). 2018-10-26 04:54:40 +02:00
standard.c MEDIUM: protocol: sockpair protocol 2018-09-12 07:20:17 +02:00
stats.c BUILD: stats: remove build warnings on potential null-derefs 2018-09-20 11:42:15 +02:00
stick_table.c BUILD: stick-table: make sure not to fail on task_new() during initialization 2018-10-15 13:24:43 +02:00
stream_interface.c MINOR: stream-int: don't needlessly call si_cs_send() in si_cs_process() 2018-10-28 13:50:02 +01:00
stream.c MEDIUM: stream-int: make si_update() synchronize flag changes before the I/O 2018-10-28 13:47:00 +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