haproxy/src
Willy Tarreau fbb934da90 BUG/MEDIUM: stick-table: fix a race condition when updating the expiration task
Pierre Cheynier reported a rare crash that can affect stick-tables. When
a entry is created, the stick-table's expiration date is updated. But if
at exactly the same time the expiration task runs, it finishes by updating
its expiration timer without any protection, which may collide with the
call to task_queue() in another thread. In this case, it sometimes happens
that the first test for TICK_ETERNITY in task_queue() passes, then the
"expire" field is reset, then the BUG_ON() triggers, like below:

  FATAL: bug condition "task->expire == 0" matched at src/task.c:279
    call trace(13):
    |       0x649d86 [c6 04 25 01 00 00 00 00]: __task_queue+0xc6/0xce
    |       0x596bef [eb 90 ba 03 00 00 00 be]: stktable_requeue_exp+0x1ef/0x258
    |       0x596c87 [48 83 bb 90 00 00 00 00]: stktable_touch_with_exp+0x27/0x312
    |       0x563698 [48 8b 4c 24 18 4c 8b 4c]: stream_process_counters+0x3a8/0x6a2
    |       0x569344 [49 8b 87 f8 00 00 00 48]: process_stream+0x3964/0x3b4f
    |       0x64a80b [49 89 c7 e9 23 ff ff ff]: run_tasks_from_lists+0x3ab/0x566
    |       0x64ad66 [29 44 24 14 8b 7c 24 14]: process_runnable_tasks+0x396/0x71e
    |       0x6184b2 [83 3d 47 b3 a6 00 01 0f]: run_poll_loop+0x92/0x4ff
    |       0x618acf [48 8b 1d aa 20 7d 00 48]: main+0x1877ef
    | 0x7fc7d6ec1e45 [64 48 89 04 25 30 06 00]: libpthread:+0x7e45
    | 0x7fc7d6c9e4af [48 89 c7 b8 3c 00 00 00]: libc:clone+0x3f/0x5a

This one is extremely difficult to reproduce in practice, but adding a
printf() in process_table_expire() before assigning the value, while
running with an expire delay of 1ms helps a lot and may trigger the
crash in less than one minute on a 8-thread machine. Interestingly,
depending on the sequencing, this bug could also have made a table fail
to expire if the expire field got reset after the last update but before
the call to task_queue(). It would require to be quite unlucky so that
the table is never touched anymore after the race though.

The solution taken by this patch is to take the table's lock when
updating its expire value in stktable_requeue_exp(), enclosing the call
to task_queue(), and to update the task->expire field while still under
the lock in process_table_expire(). Note that thanks to previous changes,
taking the table's lock for the update in stktable_requeue_exp() costs
almost nothing since we now have the guarantee that this is not done more
than 1000 times a second.

Since process_table_expire() sets the timeout after returning from
stktable_trash_expired() which just released the lock, the two functions
were merged so that the task's expire field is updated while still under
the lock. Note that this heavily depends on the two previous patches
below:

  CLEANUP: stick-table: remove the unused table->exp_next
  OPTIM: stick-table: avoid atomic ops in stktable_requeue_exp() when possible

This is a bit complicated due to the fact that in 2.7 some parts were
made lockless. In 2.6 and older, the second part (the merge of the
two functions) will be sufficient since the task_queue() call was
already performed under the table's lock, and the patches above are
not needed.

This needs to be backported as far as 1.8 scrupulously following
instructions above.
2022-11-14 18:20:38 +01:00
..
acl.c BUILD: acl: use __fallthrough in parse_acl_expr() 2022-11-14 11:14:02 +01:00
action.c BUG/MINOR: rules: Fix check_capture() function to use the right rule arguments 2022-04-25 15:28:21 +02:00
activity.c MINOR: activity/cli: support sorting task profiling by total CPU time 2022-09-08 16:38:10 +02:00
applet.c BUG/MINOR: applet: make the call_rate only count the no-progress calls 2022-08-23 20:19:11 +02:00
arg.c BUILD: args: use __fallthrough in make_arg_list() 2022-11-14 11:14:02 +01:00
auth.c BUILD: auth: include missing list.h 2021-05-08 12:29:51 +02:00
backend.c BUG/MINOR: backend: only enforce turn-around state when not redispatching 2022-10-03 15:04:55 +02:00
base64.c BUG/MINOR: base64: base64urldec() ignores padding in output size check 2021-08-25 16:14:14 +02:00
cache.c CLEANUP: applet: rename appctx_cs() to appctx_sc() 2022-05-27 19:33:35 +02:00
calltrace.c BUILD: calltrace: fix wrong include when building with TRACE=1 2022-04-19 08:23:30 +02:00
cbuf.c CLEANUP: pool/tree-wide: remove suffix "_pool" from certain pool names 2022-06-23 11:49:09 +02:00
cfgcond.c MINOR: ssl: Add ssllib_name_startswith precondition 2021-10-13 11:28:08 +02:00
cfgdiag.c CLEANUP: assorted typo fixes in the code and comments 2021-04-26 10:42:58 +02:00
cfgparse-global.c BUG/MINOR: config: insufficient syntax check of the global "maxconn" value 2022-10-03 14:30:08 +02:00
cfgparse-listen.c MEDIUM: config: remove deprecated "bind-process" directives from frontends 2022-07-15 19:41:26 +02:00
cfgparse-quic.c CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
cfgparse-ssl.c BUG/MINOR: ssl: crt-ignore-err memory leak with 'all' parameter 2022-11-14 11:43:52 +01:00
cfgparse-tcp.c CLEANUP: tree-wide: remove 25 occurrences of unneeded fcntl.h 2022-04-26 10:59:48 +02:00
cfgparse-unix.c CLEANUP: tree-wide: remove 25 occurrences of unneeded fcntl.h 2022-04-26 10:59:48 +02:00
cfgparse.c CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
channel.c CLEANUP: conn_stream: tree-wide rename to stconn (stream connector) 2022-05-27 19:33:34 +02:00
check.c BUILD: check: use __fallthrough in __health_adjust() 2022-11-14 11:14:02 +01:00
chunk.c MINOR: chunk: inline alloc_trash_chunk() 2022-08-17 10:45:22 +02:00
cli.c MINOR: cli: define usermsgs print context 2022-11-10 16:42:47 +01:00
clock.c CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
compression.c CLEANUP: compression: move the default setting of maxzlibmem to defaults 2022-04-25 19:42:43 +02:00
connection.c BUG/MAJOR: conn-idle: fix hash indexing issues on idle conns 2022-10-03 12:06:36 +02:00
cpuset.c MEDIUM: cpu-map: replace the process number with the thread group number 2022-07-15 19:43:10 +02:00
debug.c MINOR: anon: store the anonymizing key in the CLI's appctx 2022-09-17 11:27:09 +02:00
dgram.c REORG: dgram: rename proto_udp to dgram 2020-06-11 10:18:59 +02:00
dict.c CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec 2021-04-07 18:18:37 +02:00
dns.c BUG/MEDIUM: dns: Properly initialize new DNS session 2022-08-03 10:30:07 +02:00
dynbuf.c REORG: thread/sched: move the last dynamic thread_info to thread_ctx 2021-10-08 17:22:26 +02:00
eb32sctree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
eb32tree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
eb64tree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebimtree.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
ebistree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebmbtree.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
ebpttree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebsttree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebtree.c BUG/MEDIUM: ebtree: use a byte-per-byte memcmp() to compare memory blocks 2020-06-16 11:30:33 +02:00
errors.c CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
ev_epoll.c MINOR: pollers: only update the local date during busy polling 2022-09-21 09:06:28 +02:00
ev_evports.c MINOR: pollers: only update the local date during busy polling 2022-09-21 09:06:28 +02:00
ev_kqueue.c MINOR: pollers: only update the local date during busy polling 2022-09-21 09:06:28 +02:00
ev_poll.c BUG/MINOR: signals/poller: ensure wakeup from signals 2022-09-09 11:15:22 +02:00
ev_select.c MEDIUM: fd/poller: turn update_mask to group-local IDs 2022-07-15 20:16:30 +02:00
extcheck.c MINOR: checks: use the lighter PRNG for spread checks 2022-10-12 21:49:30 +02:00
fcgi-app.c MEDIUM: http-ana: Add a proxy option to restrict chars in request header names 2022-05-16 16:00:26 +02:00
fcgi.c CLEANUP: Reapply ist.cocci with --include-headers-for-types --recursive-includes 2022-03-21 08:30:47 +01:00
fd.c MINOR: fd: add a new function to only raise RLIMIT_NOFILE 2022-10-04 08:38:47 +02:00
filters.c CLEANUP: tree-wide: Remove any ref to stream-interfaces 2022-04-13 15:10:16 +02:00
fix.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
flt_bwlim.c CLEANUP: Reapply strcmp.cocci 2022-10-10 15:49:09 +02:00
flt_http_comp.c BUILD: compression: use __fallthrough in comp_http_payload() 2022-11-14 11:14:02 +01:00
flt_spoe.c BUILD: spoe: use __fallthrough in spoe_handle_appctx() 2022-11-14 11:14:02 +01:00
flt_trace.c CLEANUP: Apply ist.cocci 2021-11-08 12:08:26 +01:00
freq_ctr.c MINOR: freq_ctr: use the thread's local time whenever possible 2022-10-12 14:19:05 +02:00
frontend.c REORG: rename cs_utils.h to sc_strm.h 2022-05-27 19:33:35 +02:00
h1.c BUILD: h1: silence an initiialized warning with gcc-4.7 and -Os 2022-10-04 08:02:03 +02:00
h1_htx.c BUILD: h1_htx: use __fallthrough in h1_parse_chunk() 2022-11-14 11:14:02 +01:00
h2.c BUG/MINOR: h2: properly set the direction flag on HTX response 2022-09-02 11:19:07 +02:00
h3.c CLEANUP: quic: create a dedicated quic_conn module 2022-10-03 16:25:17 +02:00
h3_stats.c MINOR: h3: Add a statistics module for h3 2022-05-30 09:59:26 +02:00
haproxy.c MINOR: logs: startup-logs can use a shm for logging the reload 2022-10-13 16:50:22 +02:00
hash.c BUILD: hash: use __fallthrough in hash_djb2() 2022-11-14 11:14:02 +01:00
hlua.c BUILD: hlua: use __fallthrough in hlua_post_init_state() 2022-11-14 11:14:02 +01:00
hlua_fcn.c MEDIUM: stick-table: switch the table lock to rwlock 2022-10-12 14:19:05 +02:00
hpack-dec.c BUILD/DEBUG: hpack: use unsigned int in printf format in debug code 2022-04-12 08:40:38 +02:00
hpack-enc.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
hpack-huff.c OPTIM: hpack-huff: reduce the cache footprint of the huffman decoder 2022-09-20 07:41:58 +02:00
hpack-tbl.c BUILD/DEBUG: hpack-tbl: fix format string in standalone debug code 2022-04-12 08:30:08 +02:00
hq_interop.c MINOR: mux-quic: refactor snd_buf 2022-09-20 15:35:29 +02:00
http.c MINOR: http: Add function to detect default port 2022-07-06 17:54:03 +02:00
http_acl.c CLEANUP: acl: don't reference the generic pattern deletion function anymore 2020-11-05 19:27:09 +01:00
http_act.c BUILD: http_act: use __fallthrough in parse_http_del_header() 2022-11-14 11:14:02 +01:00
http_ana.c CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
http_client.c BUG/MINOR: httpclient: fixed memory allocation for the SSL ca_file 2022-11-04 11:29:18 +01:00
http_conv.c BUG/MEDIUM: http-conv: Fix url_enc() to not crush const samples 2022-04-08 10:12:59 +02:00
http_fetch.c BUILD: http_fetch: silence an uninitiialized warning with gcc-4/5/6 at -Os 2022-10-04 09:18:34 +02:00
http_htx.c REORG: h2: extract cookies concat function in http_htx 2022-08-18 16:13:33 +02:00
http_rules.c BUILD: http: remove the two unused constructors in rules and ana 2022-04-25 19:26:26 +02:00
htx.c BUG/MEDIUM: htx: Fix a possible null derefs in htx_xfer_blks() 2022-02-28 17:16:55 +01:00
init.c MINOR: init: add the pre-check callback 2022-04-22 15:45:47 +02:00
jwt.c BUG/MINOR: jwt: Memory leak if same key is used in multiple jwt_verify calls 2022-02-15 20:08:20 +01:00
lb_chash.c MINOR: server: replace the pendconns-related stuff with a struct queue 2021-06-22 18:43:14 +02:00
lb_fas.c MINOR: server: replace the pendconns-related stuff with a struct queue 2021-06-22 18:43:14 +02:00
lb_fwlc.c BUG/MEDIUM: leastconn: fix rare possibility of divide by zero 2021-09-22 07:24:02 +02:00
lb_fwrr.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
lb_map.c MINOR: server: replace the pendconns-related stuff with a struct queue 2021-06-22 18:43:14 +02:00
listener.c BUG/MINOR: listener: null pointer dereference suspected by coverity 2022-09-12 10:12:18 +02:00
log.c BUILD: logs: use __fallthrough in build_log_header() 2022-11-14 11:14:02 +01:00
lru.c BUILD/DEBUG: lru: fix printf format in debug code 2022-04-12 08:19:33 +02:00
mailers.c BUG/MEDIUM: mailers: Set the object type for check attached to an email alert 2022-06-08 15:28:38 +02:00
map.c BUILD: map: use __fallthrough in cli_io_handler_*() 2022-11-14 11:14:02 +01:00
mjson.c MINOR: sample: converter: Add mjson library. 2021-04-15 17:05:38 +02:00
mqtt.c MEDIUM: mqtt: support mqtt_is_valid and mqtt_field_value converters for MQTTv3.1 2022-03-22 09:25:52 +01:00
mux_fcgi.c REORG: mux-fcgi: Extract flags and enums into mux_fcgi-t.h 2022-10-12 17:10:37 +02:00
mux_h1.c CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
mux_h2.c BUG/MAJOR: conn-idle: fix hash indexing issues on idle conns 2022-10-03 12:06:36 +02:00
mux_pt.c CLEANUP: mux-pt: rename the "endp" field to "sd" 2022-05-27 19:33:35 +02:00
mux_quic.c BUG/MINOR: quic: fix subscribe operation 2022-10-26 18:18:26 +02:00
mworker-prog.c BUILD: mworker: include tools.h for platforms without unsetenv() 2022-01-28 19:04:02 +01:00
mworker.c MINOR: mworker/cli: does no try to dump the startup-logs w/o USE_SHM_OPEN 2022-10-21 14:03:29 +02:00
namespace.c REORG: include: move the error reporting functions to from log.h to errors.h 2020-06-11 10:18:59 +02:00
ncbuf.c CLEANUP: assorted typo fixes in the code and comments 2022-08-06 17:12:51 +02:00
pattern.c BUG/MEDIUM: pattern: only visit equivalent nodes when skipping versions 2022-08-01 11:59:46 +02:00
payload.c CLEANUP: check: rename all occurrences of stconn "cs" to "sc" 2022-05-27 19:33:35 +02:00
peers.c BUILD: peers: use __fallthrough in peer_io_handler() 2022-11-14 11:14:02 +01:00
pipe.c CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec 2021-04-07 18:18:37 +02:00
pool.c MINOR: pools/memprof: store and report the pool's name in each bin 2022-08-17 10:34:00 +02:00
proto_quic.c BUILD: quic: use __fallthrough in quic_connect_server() 2022-11-14 11:14:02 +01:00
proto_sockpair.c MINOR: sockpair: move send_fd_uxst() error message in caller 2022-07-25 16:11:11 +02:00
proto_tcp.c MINOR: protocol: replace ctrl_type with xprt_type and clarify it 2022-05-20 18:39:43 +02:00
proto_udp.c MINOR: protocol: replace ctrl_type with xprt_type and clarify it 2022-05-20 18:39:43 +02:00
proto_uxdg.c MINOR: protocol: replace ctrl_type with xprt_type and clarify it 2022-05-20 18:39:43 +02:00
proto_uxst.c MINOR: protocol: replace ctrl_type with xprt_type and clarify it 2022-05-20 18:39:43 +02:00
protocol.c MINOR: listener: small API change 2022-09-09 17:23:01 +02:00
proxy.c BUG/MINOR: server: make sure "show servers state" hides private bits 2022-10-12 21:45:39 +02:00
qmux_http.c BUG/MEDIUM: mux-quic: properly trim HTX buffer on snd_buf reset 2022-09-20 15:35:33 +02:00
qmux_trace.c BUILD: quic: Fix build for m68k cross-compilation 2022-10-18 12:04:10 +02:00
qpack-dec.c MINOR: qpack: report error on enc/dec stream close 2022-08-17 11:04:53 +02:00
qpack-enc.c BUG/MINOR: qpack: support bigger prefix-integer encoding 2022-05-30 14:30:05 +02:00
qpack-tbl.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
queue.c BUG/MEDIUM: queue/threads: limit the number of entries dequeued at once 2022-07-30 10:00:59 +02:00
quic_cc.c CLEANUP: quic: fix headers 2022-10-03 16:25:17 +02:00
quic_cc_cubic.c BUG/MEDIUM: quic: Floating point exception in cubic_root() 2022-08-03 14:27:20 +02:00
quic_cc_newreno.c CLEANUP: quic: create a dedicated quic_conn module 2022-10-03 16:25:17 +02:00
quic_conn.c CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
quic_frame.c CLEANUP: quic: create a dedicated quic_conn module 2022-10-03 16:25:17 +02:00
quic_loss.c MINOR: quic: Split the secrets key allocation in two parts 2022-10-13 10:12:03 +02:00
quic_sock.c CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
quic_stats.c CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
quic_stream.c MINOR: quic: New quic_cstream object implementation 2022-10-13 10:12:03 +02:00
quic_tls.c CLEANUP: quic: create a dedicated quic_conn module 2022-10-03 16:25:17 +02:00
quic_tp.c CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
raw_sock.c MINOR: raw-sock: don't try to send if an error was already reported 2022-08-29 18:45:27 +02:00
regex.c BUG/MINOR: regex: Properly handle PCRE2 lib compiled without JIT support 2022-09-01 19:34:46 +02:00
resolvers.c BUG/MEDIUM: resolvers: Remove aborted resolutions from query_ids tree 2022-09-27 11:18:17 +02:00
ring.c MINOR: ring: ring_cast_from_area() cast from an allocated area 2022-10-13 16:45:28 +02:00
sample.c BUILD: sample: use __fallthrough in smp_is_rw() and smp_dup() 2022-11-14 11:14:02 +01:00
server.c MINOR: server: clear prefix on stderr logs after add server 2022-11-10 16:42:47 +01:00
server_state.c BUILD: server-state: avoid using not-so-portable isblank() 2022-01-28 19:04:02 +01:00
session.c BUG/MINOR: session: fix theoretical risk of memleak in session_accept_fd() 2022-03-11 07:25:11 +01:00
sha1.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
shctx.c MINOR: shctx: add a few BUG_ON() for consistency checks 2021-11-19 19:25:13 +01:00
signal.c BUG/MINOR: signals/poller: ensure wakeup from signals 2022-09-09 11:15:22 +02:00
sink.c BUG/MINOR: sink: Set default connect/server timeout for implicit ring buffers 2022-10-24 16:00:49 +02:00
slz.c IMPORT: slz: declare len to fix debug build when optimal match is enabled 2022-11-14 11:14:02 +01:00
sock.c MINOR: sockpair: move send_fd_uxst() error message in caller 2022-07-25 16:11:11 +02:00
sock_inet.c BUG/MINOR: quic: set IP_PKTINFO socket option for QUIC receivers only 2022-10-11 16:46:04 +02:00
sock_unix.c MEDIUM: fd: add the tgid to the fd and pass it to fd_insert() 2022-07-15 19:58:06 +02:00
ssl_ckch.c BUILD: ssl: use __fallthrough in cli_io_handler_commit_{cert,cafile_crlfile}() 2022-11-14 11:14:02 +01:00
ssl_crtlist.c BUILD: ssl/crt-list: use __fallthrough in cli_io_handler_add_crtlist() 2022-11-14 11:14:02 +01:00
ssl_sample.c MINOR: ssl: x509_v_err_str converter transforms an integer to a X509_V_ERR name 2022-11-10 13:28:37 +01:00
ssl_sock.c BUILD: ssl: use __fallthrough in cli_io_handler_tlskeys_files() 2022-11-14 11:14:02 +01:00
ssl_utils.c BUILD: ssl_utils: fix build on gcc versions before 8 2022-11-14 11:12:49 +01:00
stats.c BUILD: stats: use __fallthrough in stats_dump_proxy_to_buffer() 2022-11-14 11:14:02 +01:00
stconn.c BUILD: stconn: use __fallthrough in various shutw() functions 2022-11-14 11:14:02 +01:00
stick_table.c BUG/MEDIUM: stick-table: fix a race condition when updating the expiration task 2022-11-14 18:20:38 +01:00
stream.c BUILD: stream: use __fallthrough in stats_dump_full_strm_to_buffer() 2022-11-14 11:14:02 +01:00
task.c MEDIUM: tasks/activity: combine the called function with the caller 2022-09-08 16:21:22 +02:00
tcp_act.c REORG: rename cs_utils.h to sc_strm.h 2022-05-27 19:33:35 +02:00
tcp_rules.c BUG/MINOR: tcp-rules: Make action call final on read error and delay expiration 2022-06-13 08:04:10 +02:00
tcp_sample.c MINOR: Revert part of clarifying samples support per os commit 2022-09-03 06:11:08 +02:00
tcpcheck.c BUILD: tcpcheck: use __fallthrough in check_proxy_tcpcheck() 2022-11-14 11:14:02 +01:00
thread.c MINOR: threads: report the number of thread groups in build options 2022-08-06 16:45:26 +02:00
time.c REORG: time: move time-keeping code and variables to clock.c 2021-10-08 17:22:26 +02:00
tools.c BUILD: tools: use __fallthrough in url_decode() 2022-11-14 11:14:02 +01:00
trace.c BUG/MINOR: trace: Test server existence for health-checks to get proxy 2022-06-08 15:28:38 +02:00
uri_auth.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
uri_normalizer.c MINOR: uri_normalizer: Add fragment-encode normalizer 2021-05-11 17:24:32 +02:00
vars.c BUILD: vars: use __fallthrough in var_accounting_{diff,add}() 2022-11-14 11:14:02 +01:00
version.c BUILD: Fix build by including haproxy/global.h 2020-06-16 23:36:04 +02:00
wdt.c MINOR: wdt: do not rely on threads_to_dump anymore 2022-07-01 19:26:35 +02:00
xprt_handshake.c CLEANUP: pool/tree-wide: remove suffix "_pool" from certain pool names 2022-06-23 11:49:09 +02:00
xprt_quic.c BUG/MINOR: quic: fix subscribe operation 2022-10-26 18:18:26 +02:00