Lines 350-355
svc_exec(const char *arg1, const char *a
Link Here
|
350 |
size_t bytes; |
350 |
size_t bytes; |
351 |
bool prefixed = false; |
351 |
bool prefixed = false; |
352 |
int slave_tty; |
352 |
int slave_tty; |
|
|
353 |
sigset_t sigchldmask; |
354 |
sigset_t oldmask; |
353 |
|
355 |
|
354 |
/* Setup our signal pipe */ |
356 |
/* Setup our signal pipe */ |
355 |
if (pipe(signal_pipe) == -1) |
357 |
if (pipe(signal_pipe) == -1) |
Lines 439-448
svc_exec(const char *arg1, const char *a
Link Here
|
439 |
} |
441 |
} |
440 |
|
442 |
|
441 |
free(buffer); |
443 |
free(buffer); |
|
|
444 |
|
445 |
sigemptyset (&sigchldmask); |
446 |
sigaddset (&sigchldmask, SIGCHLD); |
447 |
sigprocmask (SIG_BLOCK, &sigchldmask, &oldmask); |
448 |
|
442 |
close(signal_pipe[0]); |
449 |
close(signal_pipe[0]); |
443 |
close(signal_pipe[1]); |
450 |
close(signal_pipe[1]); |
444 |
signal_pipe[0] = signal_pipe[1] = -1; |
451 |
signal_pipe[0] = signal_pipe[1] = -1; |
445 |
|
452 |
|
|
|
453 |
sigprocmask (SIG_SETMASK, &oldmask, NULL); |
454 |
|
446 |
if (master_tty >= 0) { |
455 |
if (master_tty >= 0) { |
447 |
/* Why did we do this? */ |
456 |
/* Why did we do this? */ |
448 |
/* signal (SIGWINCH, SIG_IGN); */ |
457 |
/* signal (SIGWINCH, SIG_IGN); */ |