|
|
|
@ -520,7 +520,8 @@ stop_wait_callback (struct lwp_info *lp, void *data) |
|
|
|
target_pid_to_str (lp->pid)); |
|
|
|
} |
|
|
|
if (debug_lin_lwp) |
|
|
|
printf ("%s exited.\n", target_pid_to_str (lp->pid)); |
|
|
|
fprintf_unfiltered (gdb_stdlog, |
|
|
|
"%s exited.\n", target_pid_to_str (lp->pid)); |
|
|
|
|
|
|
|
delete_lwp (lp->pid); |
|
|
|
return 0; |
|
|
|
@ -549,7 +550,8 @@ stop_wait_callback (struct lwp_info *lp, void *data) |
|
|
|
thread will have already tripped on it. */ |
|
|
|
|
|
|
|
if (debug_lin_lwp) |
|
|
|
printf ("Tripped breakpoint at %lx in LWP %d" |
|
|
|
fprintf_unfiltered (gdb_stdlog, |
|
|
|
"Tripped breakpoint at %lx in LWP %d" |
|
|
|
" while waiting for SIGSTOP.\n", |
|
|
|
(long) read_pc_pid (lp->pid), pid); |
|
|
|
|
|
|
|
@ -560,7 +562,8 @@ stop_wait_callback (struct lwp_info *lp, void *data) |
|
|
|
else |
|
|
|
{ |
|
|
|
if (debug_lin_lwp) |
|
|
|
printf ("Received %s in LWP %d while waiting for SIGSTOP.\n", |
|
|
|
fprintf_unfiltered (gdb_stdlog, |
|
|
|
"Received %s in LWP %d while waiting for SIGSTOP.\n", |
|
|
|
strsignal (WSTOPSIG (status)), pid); |
|
|
|
|
|
|
|
/* The thread was stopped with a signal other than
|
|
|
|
@ -620,7 +623,8 @@ lin_lwp_wait (int pid, struct target_waitstatus *ourstatus) |
|
|
|
if (lp) |
|
|
|
{ |
|
|
|
if (debug_lin_lwp) |
|
|
|
printf ("Using pending wait status for LWP %d.\n", |
|
|
|
fprintf_unfiltered (gdb_stdlog, |
|
|
|
"Using pending wait status for LWP %d.\n", |
|
|
|
GET_LWP (lp->pid)); |
|
|
|
|
|
|
|
status = lp->status; |
|
|
|
@ -635,7 +639,8 @@ lin_lwp_wait (int pid, struct target_waitstatus *ourstatus) |
|
|
|
else if (is_lwp (pid)) |
|
|
|
{ |
|
|
|
if (debug_lin_lwp) |
|
|
|
printf ("Waiting for specific LWP %d.\n", GET_LWP (pid)); |
|
|
|
fprintf_unfiltered (gdb_stdlog, |
|
|
|
"Waiting for specific LWP %d.\n", GET_LWP (pid)); |
|
|
|
|
|
|
|
/* We have a specific LWP to check. */ |
|
|
|
lp = find_lwp_pid (GET_LWP (pid)); |
|
|
|
@ -645,7 +650,8 @@ lin_lwp_wait (int pid, struct target_waitstatus *ourstatus) |
|
|
|
|
|
|
|
if (debug_lin_lwp) |
|
|
|
if (status) |
|
|
|
printf ("Using pending wait status for LWP %d.\n", |
|
|
|
fprintf_unfiltered (gdb_stdlog, |
|
|
|
"Using pending wait status for LWP %d.\n", |
|
|
|
GET_LWP (lp->pid)); |
|
|
|
|
|
|
|
/* If we have to wait, take into account whether PID is a cloned
|
|
|
|
@ -725,7 +731,9 @@ lin_lwp_wait (int pid, struct target_waitstatus *ourstatus) |
|
|
|
target_pid_to_str (lp->pid)); |
|
|
|
} |
|
|
|
if (debug_lin_lwp) |
|
|
|
printf ("%s exited.\n", target_pid_to_str (lp->pid)); |
|
|
|
fprintf_unfiltered (gdb_stdlog, |
|
|
|
"%s exited.\n", |
|
|
|
target_pid_to_str (lp->pid)); |
|
|
|
|
|
|
|
delete_lwp (lp->pid); |
|
|
|
|
|
|
|
@ -743,7 +751,8 @@ lin_lwp_wait (int pid, struct target_waitstatus *ourstatus) |
|
|
|
&& WSTOPSIG (status) == SIGSTOP) |
|
|
|
{ |
|
|
|
if (debug_lin_lwp) |
|
|
|
printf ("Delayed SIGSTOP caught for %s.\n", |
|
|
|
fprintf_unfiltered (gdb_stdlog, |
|
|
|
"Delayed SIGSTOP caught for %s.\n", |
|
|
|
target_pid_to_str (lp->pid)); |
|
|
|
|
|
|
|
/* This is a delayed SIGSTOP. */ |
|
|
|
|