summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>2004-12-02 23:47:46 +0000
committerJim Blandy <jimb@redhat.com>2004-12-02 23:47:46 +0000
commit1b6ee048363f8cb1464bacb1a3a01809ab211176 (patch)
treed28ed9bc71be68dddc6a44c372b81d00f925ffe1
parent935141d7796ceb60b5ba7a1ddfa19161869563b6 (diff)
downloadgdb-1b6ee048363f8cb1464bacb1a3a01809ab211176.tar.gz
* lwp-pool.c (check_stop_pending): lwp_state_stopped_interesting
is not a legitimate state for the LWP to be in.
-rw-r--r--rda/unix/ChangeLog3
-rw-r--r--rda/unix/lwp-pool.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/rda/unix/ChangeLog b/rda/unix/ChangeLog
index 95ae1539347..ee2eb55582a 100644
--- a/rda/unix/ChangeLog
+++ b/rda/unix/ChangeLog
@@ -1,5 +1,8 @@
2004-12-02 Jim Blandy <jimb@redhat.com>
+ * lwp-pool.c (check_stop_pending): lwp_state_stopped_interesting
+ is not a legitimate state for the LWP to be in.
+
Introduce a new STOPPED, STOP PENDING state to the LWP pool model.
* lwp-pool.c: Many doc fixes.
(enum lwp_state): Add new value, lwp_state_stopped_stop_pending.
diff --git a/rda/unix/lwp-pool.c b/rda/unix/lwp-pool.c
index f2f393b5cbd..cdb3cda10ac 100644
--- a/rda/unix/lwp-pool.c
+++ b/rda/unix/lwp-pool.c
@@ -949,10 +949,14 @@ check_stop_pending (struct lwp *l)
return 0;
case lwp_state_stopped_stop_pending_interesting:
- case lwp_state_stopped_interesting:
case lwp_state_dead_interesting:
return 1;
+ case lwp_state_stopped_interesting:
+ /* This state shouldn't happen: since there was a pending stop,
+ a single waitpid on that LWP should have either gotten the
+ SIGSTOP, yielding 'lwp_state_stopped', or something interesting,
+ yielding 'lwp_state_stopped_stop_pending_interesting'. */
default:
fprintf (stderr,
"ERROR: checking lwp %d for pending stop yielded "