haproxy/doc/internals/api
Willy Tarreau 11f7994bcb MINOR: task: add a new explicitly local tasklet wakeup function
The current tasklet_wakeup() call relies on tasklet_wakeup_on(tl->tid),
which was already quite ambiguous till now due to the sole reliance on
tid being negative or not to decide to run locally, but it no longer
works correctly if used to wake tasks up since the new set of possible
negative values for ->tid (particularly if some code calls
__tasklet_wakeup_on() on a task as is done in task_instant_wakeup()).

The problem is that it is not possible in the current API to explicitly
say that we want a task/tasklet to run locally or remotely without having
to play games with a thread number. The chosen approach to address this
is to change tasklet_wakeup_on() to always be remote and have
tasklet_wakeup_here() which will always be local, with tasklet_wakeup()
choosing one or the other depending on the tid, for backwards compat
only.

This patch implements tasklet_wakeup_here() to __tasklet_wakeup_here()
that reimplement the part of __tasklet_wakeup_on() that used to deal
with the local thread only (negative tid). No other change was made.
For now it remains unused.

The doc was updated.
2026-06-24 19:07:49 +02: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 DOC: fix typos in the documentation files 2026-01-20 08:15:28 +01:00
event_hdl.txt [RELEASE] Released version 3.1-dev2 2024-06-29 11:28:41 +02:00
filters.txt [RELEASE] Released version 3.4-dev10 2026-04-29 15:51:32 +02:00
htx-api.txt MEDIUM: htx: Add htx_xfer function to replace htx_xfer_blks 2026-03-23 14:02:42 +01:00
initcalls.txt MINOR: lua: add REGISTER_HLUA_STATE_INIT() to register state init callbacks 2026-06-11 14:13:04 +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
memory.txt MINOR: tools: also implement ha_aligned_alloc_typed() 2025-08-13 17:37:08 +02:00
mt_list.txt MINOR: mt_list: Implement MT_LIST_POP_LOCKED() 2025-09-30 16:25:07 +02:00
pools.txt DOC: api: update the pools API with the alignment and typed declarations 2025-08-11 19:55:30 +02:00
scheduler.txt MINOR: task: add a new explicitly local tasklet wakeup function 2026-06-24 19:07:49 +02:00