** Use 'sigaction' when available. */
| 43 | ** Use 'sigaction' when available. |
| 44 | */ |
| 45 | static void setsignal (int sig, void (*handler)(int)) { |
| 46 | struct sigaction sa; |
| 47 | sa.sa_handler = handler; |
| 48 | sa.sa_flags = 0; |
| 49 | sigemptyset(&sa.sa_mask); /* do not mask any signal */ |
| 50 | sigaction(sig, &sa, NULL); |
| 51 | } |
| 52 | |
| 53 | #else /* }{ */ |
| 54 |