From: Paul Smith <paul@mad-scientist.net>
To: gdb@sourceware.org
Subject: GDB (not) handling SIGINT...?
Date: Tue, 13 Nov 2018 22:37:00 -0000 [thread overview]
Message-ID: <8003dfcd98e9a4d1e43f53220e0d446669944ead.camel@mad-scientist.net> (raw)
Hi all; I'm using GDB 8.1 on a modern 64bit GNU/Linux system (Ubuntu
18.04LTS).
Recently I added a call to sigtimedwait() for SIGINT into my
(multithreaded) program and now I'm having an issue with GDB.
What I want is that if I attach to my program then continue, then use
^C at the GDB terminal, I should get a (gdb) prompt back but I do NOT
want the SIGINT delivered to my program to wake up my sigtimedwait()
call (because it will cause my program to do various things that I
don't want it to do).
I see that SIGINT is set to nopass:
(gdb) info signals SIGINT
Signal Stop Print Pass to program Description
SIGINT Yes Yes No Interrupt
but yet when I use ^C at the GDB prompt my sigtimedwait() call inside
my program does return with "2" (SIGINT), which I don't want.
I guess I don't understand what the docs mean when they say that the
signal is not passed to the process under debug. Note that in my case
I'm attaching to the program from a completely different terminal so
there's no issue with process groups etc. and as far as I can
understand it, the signal should only be delivered to GDB not my
process, so unless there's some weird magic at work here it must be GDB
forwarding that signal to my process.
Anyone have any thoughts about this?
Cheers!
next reply other threads:[~2018-11-13 22:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-13 22:37 Paul Smith [this message]
2018-11-14 22:32 ` Simon Marchi
2018-11-15 13:55 ` Pedro Alves
2018-11-15 16:01 ` Paul Smith
2018-11-15 16:24 ` Pedro Alves
2018-11-15 18:01 ` Paul Smith
2018-11-15 18:04 ` Pedro Alves
2018-11-15 18:27 ` Paul Smith
2018-11-19 19:07 ` Paul Smith
2018-11-19 19:44 ` Paul Smith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8003dfcd98e9a4d1e43f53220e0d446669944ead.camel@mad-scientist.net \
--to=paul@mad-scientist.net \
--cc=gdb@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox