diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2010-04-09 21:12:56 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2010-04-09 21:12:56 -0400 |
commit | bf17a5d2c707e8cd031d2a1dba2709b50452ba0c (patch) | |
tree | e2cad365878ddfe93f3ddeb4becc9669e99541e4 /runtime/docs/examples/map.c | |
parent | 2fd5495a269c9995bd5789079dc9cbd65bd23f9e (diff) | |
download | systemtap-steved-bf17a5d2c707e8cd031d2a1dba2709b50452ba0c.tar.gz systemtap-steved-bf17a5d2c707e8cd031d2a1dba2709b50452ba0c.tar.xz systemtap-steved-bf17a5d2c707e8cd031d2a1dba2709b50452ba0c.zip |
runtime: switch to deferred STP_EXIT signalling
The former code allowed stapio to have two concurrent commands sent
toward the runtime at the same time: one from the main loop and
another one from the signal handling thread. This is suspected to
have caused occasional lockups. This new code switches to a deferred
signal handling model, where the signal handling thread merely
increments a counter, and the main loop monitors that count.
Unfortunately, this currently involves switching the main loop's
blocking /.ctl read into a nonblocking poll.
* runtime/staprun/mainloop.c (pending_interrupts): New variable.
(signal_thread): Increment it.
(stp_main_loop): Check it.
Diffstat (limited to 'runtime/docs/examples/map.c')
0 files changed, 0 insertions, 0 deletions