From: Kevin Buettner <kevinb@cygnus.com>
To: gdb-patches@sources.redhat.com
Subject: [PATCH RFA] lin-lwp.c: Mark main thread as stopped when attaching
Date: Wed, 07 Nov 2001 16:06:00 -0000 [thread overview]
Message-ID: <1011119195735.ZM16446@ocotillo.lan> (raw)
The patch below marks the main pid as stopped when attaching. If it
is not marked as such, then it is not (re)started when continuing if
the user first changes the current thread.
The practical effects of this problem may be demonstrated on a
Linux/x86 sytem as follows:
1) Start the linux-dp program and make note of the process id of the
main thread.
2) Debug the linux-dp program and attach to PID representing the
main thread.
3) Do ``info threads'' and pick out a thread other than the main
one.
4) Use GDB's ``thread'' command to switch to this thread.
5) Continue the program.
6) Attempt to interrupt the program with Ctrl-C. It will be impossible
to do so. (Examining the threads from another shell with the
``ps'' command is also instructive at this stage.)
Jim Blandy deserves credit for arriving at the above procedure for
reproducing this problem.
The patch below fixes this bug. Okay to commit?
* lin-lwp.c (lin_lwp_attach_lwp): Mark main thread as stopped.
Index: lin-lwp.c
===================================================================
RCS file: /cvs/src/src/gdb/lin-lwp.c,v
retrieving revision 1.30
diff -u -p -r1.30 lin-lwp.c
--- lin-lwp.c 2001/10/14 11:30:37 1.30
+++ lin-lwp.c 2001/11/19 19:08:10
@@ -381,6 +389,12 @@ lin_lwp_attach_lwp (ptid_t ptid, int ver
gdb_assert (pid == GET_LWP (ptid)
&& WIFSTOPPED (status) && WSTOPSIG (status));
+ lp->stopped = 1;
+ }
+ else
+ {
+ /* Mark original process (i.e. the one whose LWP id is equal to
+ the overall process id) as stopped too. */
lp->stopped = 1;
}
}
next reply other threads:[~2001-11-19 19:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-07 16:06 Kevin Buettner [this message]
2001-11-08 13:04 ` Mark Kettenis
2001-11-08 19:30 ` Kevin Buettner
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=1011119195735.ZM16446@ocotillo.lan \
--to=kevinb@cygnus.com \
--cc=gdb-patches@sources.redhat.com \
/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