]> git.ipfire.org Git - thirdparty/haproxy.git/commit
DEBUG: cli: add "debug dev task" to show/wake/expire/kill tasks and tasklets
authorWilly Tarreau <w@1wt.eu>
Wed, 3 May 2023 09:22:45 +0000 (11:22 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 3 May 2023 09:47:44 +0000 (11:47 +0200)
commit98679871823125f68e216f96143dad4c1d060007
tree229c39cd2150e80371affeb4627bc8e08a8bfcea
parentdd01448953f6cbd85a2abbce5a785133b8824d08
DEBUG: cli: add "debug dev task" to show/wake/expire/kill tasks and tasklets

When analyzing certain types of bugs in field, sometimes it would be
nice to be able to wake up a task or tasklet to see how events progress
(e.g. to detect a missing wakeup condition), or expire or kill such a
task. This restricted command shows hte current state of a task or tasklet
and allows to manipulate it like this. However it must be used with extreme
care because while it does verify that the pointers are mapped, it cannot
know if they point to a real task, and performing such actions on something
not a task will easily lead to a crash. In addition, performing a "kill"
on a task has great chances of provoking a deferred crash due to a double
free and/or another kill that is not idempotent. Use with extreme care!
src/debug.c