netstat/if.c: Use POSIX not BSD signals

This commit is contained in:
Joel Sherrill 2012-10-22 14:43:57 -05:00
parent 7b43b62c17
commit 346810af65

View File

@ -712,14 +712,25 @@ loop:
fflush(stdout); fflush(stdout);
if ((noutputs != 0) && (--noutputs == 0)) if ((noutputs != 0) && (--noutputs == 0))
exit(0); exit(0);
#ifndef __rtems__ #ifdef __rtems__
{
sigset_t oldmask, desired, empty;
sigemptyset(&empty);
sigemptyset(&desired);
sigaddset(&desired, SIGALRM);
sigprocmask(SIG_BLOCK, &desired, &oldmask);
while (!signalled)
sigsuspend(&desired);
signalled = NO;
sigprocmask(SIG_SETMASK, &oldmask, NULL);
}
#else
oldmask = sigblock(sigmask(SIGALRM)); oldmask = sigblock(sigmask(SIGALRM));
while (!signalled) while (!signalled)
sigpause(0); sigpause(0);
signalled = NO; signalled = NO;
sigsetmask(oldmask); sigsetmask(oldmask);
#else
#warning "Add BSD Signals wrapper"
#endif #endif
line++; line++;
first = 0; first = 0;