diff options
author | Doug Evans <xdje42@gmail.com> | 2014-09-13 21:44:00 -0700 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2014-09-13 21:44:00 -0700 |
commit | 81219e5358e6238d3810136690a0c0b2cd20955e (patch) | |
tree | 19573767c0e0915e7e0fd670a0e544dcf26dfc3a /include | |
parent | d4b38d2d057a5b8a35bc052e4f43b02b53c40f89 (diff) | |
download | gdb-81219e5358e6238d3810136690a0c0b2cd20955e.zip gdb-81219e5358e6238d3810136690a0c0b2cd20955e.tar.gz gdb-81219e5358e6238d3810136690a0c0b2cd20955e.tar.bz2 |
New command queue-signal.
If I want to change the signalled state of multiple threads
it's a bit cumbersome to do with the "signal" command.
What you really want is a way to set the signal state of the
desired threads and then just do "continue".
This patch adds a new command, queue-signal, to accomplish this.
Basically "signal N" == "queue-signal N" + "continue".
That's not precisely true in that "signal" can be used to inject
any signal, including signals set to "nopass"; whereas "queue-signal"
just queues the signal as if the thread stopped because of it.
"nopass" handling is done when the thread is resumed which
"queue-signal" doesn't do.
One could add extra complexity to allow queue-signal to be used to
deliver "nopass" signals like the "signal" command. I have no current
need for it so in the interests of incremental complexity, I have
left such support out and just have the code flag an error if one
tries to queue a nopass signal.
gdb/ChangeLog:
* NEWS: Mention new "queue-signal" command.
* infcmd.c (queue_signal_command): New function.
(_initialize_infcmd): Add new queue-signal command.
gdb/doc/ChangeLog:
* gdb.texinfo (Signaling): Document new queue-signal command.
gdb/testsuite/ChangeLog:
* gdb.threads/queue-signal.c: New file.
* gdb.threads/queue-signal.exp: New file.
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions