version 1.19, 2003/06/10 22:20:50 |
version 1.20, 2004/09/14 23:53:07 |
|
|
|
|
FILE *fscript; |
FILE *fscript; |
int master, slave; |
int master, slave; |
pid_t child, subchild; |
volatile sig_atomic_t child; |
|
pid_t subchild; |
char *fname; |
char *fname; |
|
|
volatile sig_atomic_t dead; |
volatile sig_atomic_t dead; |
|
|
done(sigdeadstatus); |
done(sigdeadstatus); |
} |
} |
|
|
|
/* ARGSUSED */ |
void |
void |
finish(int signo) |
finish(int signo) |
{ |
{ |
|
|
pid_t pid; |
pid_t pid; |
|
|
while ((pid = wait3(&status, WNOHANG, 0)) > 0) { |
while ((pid = wait3(&status, WNOHANG, 0)) > 0) { |
if (pid == child) { |
if (pid == (pid_t)child) { |
if (WIFEXITED(status)) |
if (WIFEXITED(status)) |
e = WEXITSTATUS(status); |
e = WEXITSTATUS(status); |
} |
} |
|
|
errno = save_errno; |
errno = save_errno; |
} |
} |
|
|
|
/* ARGSUSED */ |
void |
void |
handlesigwinch(int signo) |
handlesigwinch(int signo) |
{ |
{ |
|
|
done(0); |
done(0); |
} |
} |
|
|
|
/* ARGSUSED */ |
void |
void |
scriptflush(int signo) |
scriptflush(int signo) |
{ |
{ |