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
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
initcalls.txt
ist.txt
layers.txt
list.txt
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
scheduler.txt MINOR: tasklet: support an optional set of wakeup flags to tasklet_wakeup_on() 2024-11-19 20:13:41 +01:00