150 |
|
{ |
151 |
|
static int gotsig = 0; |
152 |
|
|
153 |
< |
if (gotsig++) /* two signals and we're gone! */ |
153 |
> |
if (gotsig > 1) /* we're going as fast as we can! */ |
154 |
> |
return; |
155 |
> |
if (gotsig++) { /* two signals and we split */ |
156 |
> |
hdsync(NULL, 0); /* don't leave w/o saying goodbye */ |
157 |
|
_exit(signo); |
158 |
< |
|
159 |
< |
alarm(180); /* allow 3 minutes to clean up */ |
157 |
< |
signal(SIGALRM, SIG_DFL); /* make certain we do die */ |
158 |
> |
} |
159 |
> |
alarm(300); /* allow 5 minutes to clean up */ |
160 |
|
eputs("signal - "); |
161 |
|
eputs(sigerr[signo]); |
162 |
|
eputs("\n"); |