This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 06/18] New vCtrlC packet, non-stop mode equivalent of \003
- From: Pedro Alves <palves at redhat dot com>
- To: Yao Qi <qiyaoltc at gmail dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Mon, 30 Nov 2015 18:25:40 +0000
- Subject: Re: [PATCH 06/18] New vCtrlC packet, non-stop mode equivalent of \003
- Authentication-results: sourceware.org; auth=none
- References: <1444836486-25679-1-git-send-email-palves at redhat dot com> <1444836486-25679-7-git-send-email-palves at redhat dot com> <86io5t26rr dot fsf at gmail dot com>
I see now that I never responded to this one...
On 10/26/2015 11:44 AM, Yao Qi wrote:
> Pedro Alves <palves@redhat.com> writes:
>
>> gdb/
>> 2015-10-14 Pedro Alves <palves@redhat.com>
>>
>> * NEWS (New remote packets): Mention vCtrlC.
>>
>> gdb/doc/
>> 2015-10-14 Pedro Alves <palves@redhat.com>
>>
>> * gdb.texinfo (Bootstrapping): Add
>> "interrupting remote targets" anchor.
>> (Packets): Document vCtrlC.
>>
>> gdb/gdbserver/
>> 2015-10-14 Pedro Alves <palves@redhat.com>
>>
>> * server.c (handle_v_requests): Handle vCtrlC.
>
> These entries below should be hoisted above to gdb/ChangeLog,
Whoops, indeed.
>
>> * remote.c (PACKET_vCtrlC): New enum value.
>> (async_remote_interrupt): Call target_interrupt instead of
>> target_stop.
>> (remote_interrupt_as): Remove 'ptid' parameter.
>> (remote_interrupt_ns): New function.
>> (remote_stop): Adjust.
>> (remote_interrupt): If the target is in non-stop mode, try
>> interrupting with vCtrlC.
>> (initialize_remote): Install set remote ctrl-c packet.
>> ---
>> gdb/NEWS | 4 ++++
>> gdb/doc/gdb.texinfo | 34 +++++++++++++++++++++++----
>> gdb/gdbserver/server.c | 7 ++++++
>> gdb/remote.c | 64 ++++++++++++++++++++++++++++++++++++++++++++------
>> 4 files changed, 98 insertions(+), 11 deletions(-)
>>
>
>>
>> +/* Non-stop version of target_interrupt. Uses `vCtrlC' to interrupt
>> + the remote target. It is undefined which thread of which process
>> + reports the interrupt. */
>> +
>
> We need to document the return value of this function in comments.
I've added this:
diff --git i/gdb/remote.c w/gdb/remote.c
index ae8c708..7256c23 100644
--- i/gdb/remote.c
+++ w/gdb/remote.c
@@ -5709,7 +5709,8 @@ remote_interrupt_as (void)
/* Non-stop version of target_interrupt. Uses `vCtrlC' to interrupt
the remote target. It is undefined which thread of which process
- reports the interrupt. */
+ reports the interrupt. Returns true if the packet is supported by
+ the server, false otherwise. */
static int
remote_interrupt_ns (void)
> Patch looks good to me otherwise.
Thanks,
Pedro Alves