forked from Imagelibrary/binutils-gdb
2001-04-26 Michael Snyder <msnyder@redhat.com>
* lin-lwp.c: Minor cleanups in comments.
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
2001-04-26 Michael Snyder <msnyder@redhat.com>
|
2001-04-26 Michael Snyder <msnyder@redhat.com>
|
||||||
|
|
||||||
|
* lin-lwp.c: Minor cleanups in comments.
|
||||||
* target.c (normal_pid_to_str): Get rid of an ancient hack.
|
* target.c (normal_pid_to_str): Get rid of an ancient hack.
|
||||||
* remote.c (remote_pid_to_str): New function for remote target.
|
* remote.c (remote_pid_to_str): New function for remote target.
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ extern const char *strsignal (int sig);
|
|||||||
cannot use it since GDB must work on older systems too.
|
cannot use it since GDB must work on older systems too.
|
||||||
|
|
||||||
- When a traced, cloned process exits and is waited for by the
|
- When a traced, cloned process exits and is waited for by the
|
||||||
debugger, the kernel reassigns it to the origional parent and
|
debugger, the kernel reassigns it to the original parent and
|
||||||
keeps it around as a "zombie". Somehow, the LinuxThreads library
|
keeps it around as a "zombie". Somehow, the LinuxThreads library
|
||||||
doesn't notice this, which leads to the "zombie problem": When
|
doesn't notice this, which leads to the "zombie problem": When
|
||||||
debugged a multi-threaded process that spawns a lot of threads
|
debugged a multi-threaded process that spawns a lot of threads
|
||||||
@@ -131,16 +131,16 @@ extern struct target_ops child_ops;
|
|||||||
|
|
||||||
/* Since we cannot wait (in lin_lwp_wait) for the initial process and
|
/* Since we cannot wait (in lin_lwp_wait) for the initial process and
|
||||||
any cloned processes with a single call to waitpid, we have to use
|
any cloned processes with a single call to waitpid, we have to use
|
||||||
use the WNOHANG flag and call waitpid in a loop. To optimize
|
the WNOHANG flag and call waitpid in a loop. To optimize
|
||||||
things a bit we use `sigsuspend' to wake us up when a process has
|
things a bit we use `sigsuspend' to wake us up when a process has
|
||||||
something to report (it will send us a SIGCHLD if it has). To make
|
something to report (it will send us a SIGCHLD if it has). To make
|
||||||
this work we have to juggle with the signal mask. We save the
|
this work we have to juggle with the signal mask. We save the
|
||||||
origional signal mask such that we can restore it before creating a
|
original signal mask such that we can restore it before creating a
|
||||||
new process in order to avoid blocking certain signals in the
|
new process in order to avoid blocking certain signals in the
|
||||||
inferior. We then block SIGCHLD during the waitpid/sigsuspend
|
inferior. We then block SIGCHLD during the waitpid/sigsuspend
|
||||||
loop. */
|
loop. */
|
||||||
|
|
||||||
/* Origional signal mask. */
|
/* Original signal mask. */
|
||||||
static sigset_t normal_mask;
|
static sigset_t normal_mask;
|
||||||
|
|
||||||
/* Signal mask for use with sigsuspend in lin_lwp_wait, initialized in
|
/* Signal mask for use with sigsuspend in lin_lwp_wait, initialized in
|
||||||
@@ -900,7 +900,7 @@ lin_lwp_mourn_inferior (void)
|
|||||||
|
|
||||||
trap_pid = 0;
|
trap_pid = 0;
|
||||||
|
|
||||||
/* Restore the origional signal mask. */
|
/* Restore the original signal mask. */
|
||||||
sigprocmask (SIG_SETMASK, &normal_mask, NULL);
|
sigprocmask (SIG_SETMASK, &normal_mask, NULL);
|
||||||
sigemptyset (&blocked_mask);
|
sigemptyset (&blocked_mask);
|
||||||
|
|
||||||
@@ -1027,7 +1027,7 @@ _initialize_lin_lwp (void)
|
|||||||
add_target (&lin_lwp_ops);
|
add_target (&lin_lwp_ops);
|
||||||
thread_db_init (&lin_lwp_ops);
|
thread_db_init (&lin_lwp_ops);
|
||||||
|
|
||||||
/* Save the origional signal mask. */
|
/* Save the original signal mask. */
|
||||||
sigprocmask (SIG_SETMASK, NULL, &normal_mask);
|
sigprocmask (SIG_SETMASK, NULL, &normal_mask);
|
||||||
|
|
||||||
action.sa_handler = sigchld_handler;
|
action.sa_handler = sigchld_handler;
|
||||||
|
|||||||
Reference in New Issue
Block a user