SIGCHLD
ADD_SIGNAL_MENU_ITEM(SIGCHLD)
signal(SIGCHLD, SIG_DFL);
sigaddset(&blockedSignals, SIGCHLD);
sigaddset(&waitForSignals, SIGCHLD);
if (error == 0 && signal == SIGCHLD)
if (sigaction(SIGCHLD, &action, NULL) < 0) {
case SIGCHLD:
if (info.si_signo == SIGCHLD) {
ENUM_INFO_ENTRY(SIGCHLD),
(void)sigaction(SIGCHLD, &sa, NULL);
(void)sigaction(SIGCHLD, &sa, NULL);
(void) signal(SIGCHLD, cleanup);
DEFINE_SIGNAL_STRING(SIGCHLD)
case SIGCHLD:
= parentTeam->SignalActionFor(SIGCHLD);
Signal childSignal(SIGCHLD, CLD_STOPPED, B_OK,
& (~thread->sig_block_mask | SIGNAL_TO_MASK(SIGCHLD)))
| SIGNAL_TO_MASK(SIGCHLD);
(SIGNAL_TO_MASK(SIGCHLD) | SIGNAL_TO_MASK(SIGWINCH) \
struct sigaction& handler = team->SignalActionFor(SIGCHLD);
_info.si_signo = SIGCHLD;
if (is_team_signal_blocked(team, SIGCHLD)) {
team->RemovePendingSignals(SIGNAL_TO_MASK(SIGCHLD));
Signal childSignal(SIGCHLD, team->exit.reason, B_OK, team->id);
if (signal == SIGCHLD)
if (signal == SIGCHLD)
if (signal == SIGCHLD && signalHandler == SIG_IGN) {
if (signal == SIGCHLD && signalHandler == SIG_IGN) {
sigaddset(&mask, SIGCHLD);
signal(SIGCHLD, SIG_DFL);
ADD_SIGNAL(SIGCHLD),
if (sigaction(SIGCHLD, &sa, NULL) == -1) {