haproxy/src
Willy Tarreau 3f133570b8 BUG/MEDIUM: h2: fix incorrect timeout handling on the connection
Previous commit ea3928 (MEDIUM: h2: apply a timeout to h2 connections)
was wrong for two reasons. The first one is that if the client timeout
is not set, it's used as zero, preventing connections from establishing.
The second reason is that if the timeout triggers with active streams
(normally it should not since the task is supposed to be disabled), the
task is removed (h2c->task=NULL), and the last quitting stream might
try to dereference it.

Instead of doing this, we simply not register the task if there's no
timeout (it's useless) and we always control its presence in the streams.
2017-10-31 19:21:06 +01:00
..
51d.c MINOR: threads: Don't start when device a detection module is used 2017-10-31 13:58:33 +01:00
acl.c MINOR: acl: Pass the ACLs as an explicit parameter of build_acl_cond 2017-10-31 11:36:12 +01: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 CLEANUP: threads: rename process_mask to thread_mask 2017-10-31 16:06:06 +01:00
arg.c BUG/MEDIUM: arg: ensure that we properly unlink unresolved arguments on error 2017-04-13 12:20:52 +02:00
auth.c CLEANUP: auth: use the build options list to report its support 2016-12-21 21:30:54 +01:00
backend.c MAJOR: connection : Split struct connection into struct connection and struct conn_stream. 2017-10-31 18:03:23 +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 BUG/MEDIUM: threads: Run the poll loop on the main thread too 2017-10-31 13:58:33 +01:00
cfgparse.c MINOR: threads: Add thread-map config parameter in the global section 2017-10-31 13:58:33 +01:00
channel.c MINOR: channel: make the channel be a const in all {ci,co}_get* functions 2017-10-19 15:01:08 +02:00
checks.c MEDIUM: checks: exclusively use cs_destroy() to release a connection 2017-10-31 18:03:24 +01:00
chunk.c BUG/MEDIUM: threads: Run the poll loop on the main thread too 2017-10-31 13:58:33 +01:00
cli.c MAJOR: connection : Split struct connection into struct connection and struct conn_stream. 2017-10-31 18:03:23 +01:00
compression.c MEDIUM: threads/compression: Make HTTP compression thread-safe 2017-10-31 13:58:32 +01:00
connection.c MINOR: connection: introduce conn_stream 2017-10-31 18:03:23 +01:00
da.c MINOR: threads: Don't start when device a detection module is used 2017-10-31 13:58:33 +01:00
dns.c BUG/MINOR: dns: Fix SRV records with the new thread code. 2017-10-31 15:47:55 +01:00
ev_epoll.c CLEANUP: threads: rename process_mask to thread_mask 2017-10-31 16:06:06 +01:00
ev_kqueue.c CLEANUP: threads: rename process_mask to thread_mask 2017-10-31 16:06:06 +01:00
ev_poll.c CLEANUP: threads: rename process_mask to thread_mask 2017-10-31 16:06:06 +01:00
ev_select.c CLEANUP: threads: rename process_mask to thread_mask 2017-10-31 16:06:06 +01:00
fd.c CLEANUP: threads: rename process_mask to thread_mask 2017-10-31 16:06:06 +01:00
filters.c MEDIUM: threads/filters: Add init/deinit callback per thread 2017-10-31 13:58:32 +01:00
flt_http_comp.c MEDIUM: threads/compression: Make HTTP compression thread-safe 2017-10-31 13:58:32 +01:00
flt_spoe.c CLEANUP: threads: replace the last few 1UL<<tid with tid_bit 2017-10-31 15:59:32 +01:00
flt_trace.c MINOR: threads/filters: Update trace filter to add _per_thread callbacks 2017-10-31 13:58:32 +01: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 MAJOR: connection : Split struct connection into struct connection and struct conn_stream. 2017-10-31 18:03:23 +01:00
h1.c MINOR: h1: add a function to measure the trailers length 2017-10-31 17:18:10 +01:00
haproxy.c MINOR: connection: introduce conn_stream 2017-10-31 18:03:23 +01:00
hash.c MINOR: hash: add new function hash_crc32 2015-01-20 19:48:05 +01:00
hathreads.c WIP: SQUASH WITH SYNC POINT 2017-10-31 13:58:30 +01:00
hdr_idx.c OPTIM/MINOR: move the hdr_idx pools out of the proxy struct 2011-10-24 18:15:04 +02:00
hlua.c MAJOR: connection : Split struct connection into struct connection and struct conn_stream. 2017-10-31 18:03:23 +01:00
hlua_fcn.c MEDIUM: threads/server: Use the server lock to protect health check and cli concurrency 2017-10-31 13:58:33 +01:00
hpack-dec.c MINOR: hpack: implement the decoder 2017-10-31 18:03:24 +01:00
hpack-enc.c MEDIUM: hpack: implement basic hpack encoding 2017-10-31 18:03:24 +01:00
hpack-huff.c MINOR: hpack: implement the HPACK Huffman table decoder 2017-10-31 18:03:24 +01:00
hpack-tbl.c MINOR: hpack: implement the header tables management 2017-10-31 18:03:24 +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 MEDIUM: threads/lb: Make LB algorithms (lb_*.c) thread-safe 2017-10-31 13:58:31 +01:00
lb_fas.c MEDIUM: threads/lb: Make LB algorithms (lb_*.c) thread-safe 2017-10-31 13:58:31 +01:00
lb_fwlc.c MEDIUM: threads/lb: Make LB algorithms (lb_*.c) thread-safe 2017-10-31 13:58:31 +01:00
lb_fwrr.c MEDIUM: threads/lb: Make LB algorithms (lb_*.c) thread-safe 2017-10-31 13:58:31 +01:00
lb_map.c MEDIUM: threads/lb: Make LB algorithms (lb_*.c) thread-safe 2017-10-31 13:58:31 +01:00
listener.c MEDIUM: threads/listeners: Make listeners thread-safe 2017-10-31 13:58:30 +01:00
log.c MAJOR: connection : Split struct connection into struct connection and struct conn_stream. 2017-10-31 18:03:23 +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 MAJOR: threads/map: Make acls/maps thread safe 2017-10-31 13:58:32 +01:00
memory.c MEDIUM: threads/pool: Make pool thread-safe by locking all access to a pool 2017-10-31 13:58:30 +01:00
mux_h2.c BUG/MEDIUM: h2: fix incorrect timeout handling on the connection 2017-10-31 19:21:06 +01:00
mux_pt.c MEDIUM: connection: add a destroy callback 2017-10-31 18:03:24 +01:00
namespace.c CLEANUP: namespaces: use the build options list to report it 2016-12-21 21:30:54 +01:00
pattern.c MAJOR: threads/map: Make acls/maps thread safe 2017-10-31 13:58:32 +01:00
payload.c MINOR: payload: add new sample fetch functions to process distcc protocol 2017-10-13 11:47:19 +02:00
peers.c MAJOR: connection : Split struct connection into struct connection and struct conn_stream. 2017-10-31 18:03:23 +01:00
pipe.c BUILD/MINOR: silent a build warning in src/pipe.c (fcntl) 2011-10-24 17:09:22 +02:00
proto_http.c MAJOR: connection : Split struct connection into struct connection and struct conn_stream. 2017-10-31 18:03:23 +01:00
proto_tcp.c MAJOR: connection : Split struct connection into struct connection and struct conn_stream. 2017-10-31 18:03:23 +01: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 MEDIUM: threads/fd: Initialize the process mask during the call to fd_insert 2017-10-31 13:58:30 +01:00
protocol.c BUILD: protocol: fix some build errors on OpenBSD 2016-08-10 19:31:58 +02:00
proxy.c MEDIUM: threads/proxy: Add a lock per proxy and atomically update proxy vars 2017-10-31 13:58:30 +01:00
queue.c MEDIUM: threads/queue: Make queues thread-safe 2017-10-31 13:58:32 +01:00
raw_sock.c BUG/MINOR: threads: Add missing THREAD_LOCAL on static here and there 2017-10-31 13:58:33 +01:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c MINOR: threads/regex: Change Regex trash buffer into a thread local variable 2017-10-31 13:58:31 +01:00
sample.c MINOR: threads/sample: Change temp_smp into a thread local variable 2017-10-31 13:58:31 +01:00
server.c BUG/MINOR: dns: Fix SRV records with the new thread code. 2017-10-31 15:47:55 +01:00
session.c MEDIUM: session: make use of the connection's destroy callback 2017-10-31 18:03:24 +01:00
sha1.c IMPORT: sha1: import SHA1 functions 2017-10-25 04:45:48 +02:00
shctx.c MEDIUM: shctx: separate ssl and shctx 2017-10-31 03:49:40 +01:00
signal.c MEDIUM: threads/signal: Add a lock to make signals thread-safe 2017-10-31 13:58:30 +01:00
ssl_sock.c MINOR: ssl: Remove the global allow-0rtt option. 2017-10-31 15:48:42 +01:00
standard.c BUG/MINOR: threads: Add missing THREAD_LOCAL on static here and there 2017-10-31 13:58:33 +01:00
stats.c BUG/MINOR: threads: Add missing THREAD_LOCAL on static here and there 2017-10-31 13:58:33 +01:00
stick_table.c MEDIUM: threads/stick-tables: handle multithreads on stick tables 2017-10-31 13:58:31 +01:00
stream.c MEDIUM: session: make use of the connection's destroy callback 2017-10-31 18:03:24 +01:00
stream_interface.c MEDIUM: connection: replace conn_full_close() with cs_close() 2017-10-31 18:03:24 +01:00
task.c CLEANUP: threads: rename process_mask to thread_mask 2017-10-31 16:06:06 +01:00
tcp_rules.c MEDIUM: threads/proxy: Add a lock per proxy and atomically update proxy vars 2017-10-31 13:58:30 +01:00
time.c BUG/MAJOR: threads/time: Store the time deviation in an 64-bits integer 2017-10-31 13:58:33 +01: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: uniformize last argument of malloc/calloc 2016-04-03 14:17:42 +02:00
vars.c MEDIUM: thread/vars: Make vars thread-safe 2017-10-31 13:58:32 +01:00
wurfl.c MINOR: threads: Don't start when device a detection module is used 2017-10-31 13:58:33 +01:00
xxhash.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00