Deleted Added
full compact
26c26
< * $Id: sig.c,v 1.11.2.5 1998/05/01 19:25:56 brian Exp $
---
> * $Id: sig.c,v 1.13 1998/05/21 21:48:20 brian Exp $
36a37
> static int necessary; /* Anything set ? */
45a47
> necessary = 1;
80c82
< void
---
> int
84a87
> int result;
86,94c89,106
< do {
< got = 0;
< for (sig = 0; sig < NSIG; sig++)
< if (caused[sig]) {
< caused[sig]--;
< got++;
< (*handler[sig]) (sig + 1);
< }
< } while (got);
---
> result = 0;
> if (necessary) {
> /* We've *probably* got something in `caused' set */
> necessary = 0;
> /* `necessary' might go back to 1 while we're in here.... */
> do {
> got = 0;
> for (sig = 0; sig < NSIG; sig++)
> if (caused[sig]) {
> caused[sig]--;
> got++;
> result++;
> (*handler[sig])(sig + 1);
> }
> } while (got);
> }
>
> return result;