version 1.5, 2000/07/20 13:29:43
|
version 1.8, 2000/07/20 14:17:55
|
Line 47
|
Line 47
|
UCell cols=DEFAULTCOLS; |
UCell cols=DEFAULTCOLS; |
UCell rows=DEFAULTROWS; |
UCell rows=DEFAULTROWS; |
|
|
|
#ifndef SA_NODEFER |
|
#define SA_NODEFER 0 |
|
/* systems that don't have SA_NODEFER hopefully don't block anyway */ |
|
#endif |
|
|
#ifdef SA_SIGINFO |
#ifdef SA_SIGINFO |
void install_signal_handler(int sig, void (*handler)(int, siginfo_t *, void *)) |
void install_signal_handler(int sig, void (*handler)(int, siginfo_t *, void *)) |
/* installs three-argument signal handler for sig */ |
/* installs three-argument signal handler for sig */ |
Line 55 void install_signal_handler(int sig, voi
|
Line 60 void install_signal_handler(int sig, voi
|
|
|
action.sa_sigaction=handler; |
action.sa_sigaction=handler; |
sigemptyset(&action.sa_mask); |
sigemptyset(&action.sa_mask); |
action.sa_flags=SA_RESTART|SA_SIGINFO; /* pass siginfo */ |
action.sa_flags=SA_RESTART|SA_NODEFER|SA_SIGINFO; /* pass siginfo */ |
sigaction(sig, &action, NULL); |
sigaction(sig, &action, NULL); |
} |
} |
#endif |
#endif |