| 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"); |