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 /gdb/NEWS | |
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 'gdb/NEWS')
-rw-r--r-- | gdb/NEWS | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -13,6 +13,11 @@ ** $_any_caller_is(name [, number_of_frames]) ** $_any_caller_matches(regexp [, number_of_frames]) +* New commands + +queue-signal signal-name-or-number + Queue a signal to be delivered to the thread when it is resumed. + * On resume, GDB now always passes the signal the program had stopped for to the thread the signal was sent to, even if the user changed threads before resuming. Previously GDB would often (but not |