mirror of
https://github.com/haproxy/haproxy.git
synced 2026-06-30 04:49:04 -04:00
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. |
||
|---|---|---|
| .. | ||
| haproxy | ||
| import | ||
| make | ||