haproxy/doc/internals/api
Willy Tarreau 12fcd65468 MINOR: tasklet: support an optional set of wakeup flags to tasklet_wakeup_on()
tasklet_wakeup_on() and its derivates (tasklet_wakeup_after() and
tasklet_wakeup()) do not support passing a wakeup cause like
task_wakeup(). This is essentially due to an API limitation cause by
the fact that for a very long time the only reason for waking up was
to process pending I/O. But with the growing complexity of mux tasks,
it is becoming important to be able to skip certain heavy processing
when not strictly needed.

One possibility is to permit the caller of tasklet_wakeup() to pass
flags like task_wakeup(). Instead of going with a complex naming scheme,
let's simply make the flags optional and be zero when not specified. This
means that tasklet_wakeup_on() now takes either 2 or 3 args, and that the
third one is the optional flags to be passed to the callee. Eligible flags
are essentially the non-persistent ones (TASK_F_UEVT* and TASK_WOKEN_*)
which are cleared when the tasklet is executed. This way the handler
will find them in its <state> argument and will be able to distinguish
various causes for the call.
2024-11-19 20:13:41 +01:00
..
appctx.txt CLEANUP: assorted typo fixes in the code and comments 2022-08-06 17:12:51 +02:00
buffer-api.txt MINOR: dynbuf: pass a criticality argument to b_alloc() 2024-05-10 17:18:13 +02:00
buffer-list-api.txt MINOR: buffer: add a buffer list type with functions 2024-10-12 16:29:15 +02:00
event_hdl.txt [RELEASE] Released version 3.1-dev2 2024-06-29 11:28:41 +02:00
filters.txt [RELEASE] Released version 2.9-dev9 2023-11-04 09:38:16 +01:00
htx-api.txt CLEANUP: assorted typo fixes in the code and comments 2022-10-30 17:17:56 +01:00
initcalls.txt MEDIUM: init: initialize the trash earlier 2023-09-08 16:25:19 +02:00
ist.txt DOC: internals: document the IST API 2021-11-08 16:50:48 +01:00
layers.txt DOC: internal: add a description of the stream connectors and descriptors 2022-05-27 19:34:36 +02:00
list.txt CLEANUP: assorted typo fixes in the code and comments This is 29th iteration of typo fixes 2022-01-03 14:40:58 +01:00
mt_list.txt MAJOR: import: update mt_list to support exponential back-off (try #2) 2024-07-09 16:46:38 +02:00
pools.txt BUG/MINOR: pool/stats: Use ullong to report total pool usage in bytes in stats 2022-12-22 13:46:21 +01:00
scheduler.txt MINOR: tasklet: support an optional set of wakeup flags to tasklet_wakeup_on() 2024-11-19 20:13:41 +01:00