diff options
Diffstat (limited to 'openbsd-compat/bsd-signal.c')
-rw-r--r-- | openbsd-compat/bsd-signal.c | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/openbsd-compat/bsd-signal.c b/openbsd-compat/bsd-signal.c index 104ab653f..38d5e972e 100644 --- a/openbsd-compat/bsd-signal.c +++ b/openbsd-compat/bsd-signal.c | |||
@@ -23,39 +23,6 @@ | |||
23 | 23 | ||
24 | #include "openbsd-compat/bsd-signal.h" | 24 | #include "openbsd-compat/bsd-signal.h" |
25 | 25 | ||
26 | #undef signal | ||
27 | |||
28 | mysig_t | ||
29 | mysignal(int sig, mysig_t act) | ||
30 | { | ||
31 | #ifdef HAVE_SIGACTION | ||
32 | struct sigaction sa, osa; | ||
33 | |||
34 | if (sigaction(sig, NULL, &osa) == -1) | ||
35 | return (mysig_t) -1; | ||
36 | if (osa.sa_handler != act) { | ||
37 | memset(&sa, 0, sizeof(sa)); | ||
38 | sigemptyset(&sa.sa_mask); | ||
39 | sa.sa_flags = 0; | ||
40 | if (sig == SIGALRM) { | ||
41 | #ifdef SA_INTERRUPT | ||
42 | sa.sa_flags |= SA_INTERRUPT; | ||
43 | #endif | ||
44 | } else { | ||
45 | #ifdef SA_RESTART | ||
46 | sa.sa_flags |= SA_RESTART; | ||
47 | #endif | ||
48 | } | ||
49 | sa.sa_handler = act; | ||
50 | if (sigaction(sig, &sa, NULL) == -1) | ||
51 | return (mysig_t) -1; | ||
52 | } | ||
53 | return (osa.sa_handler); | ||
54 | #else | ||
55 | return (signal(sig, act)); | ||
56 | #endif | ||
57 | } | ||
58 | |||
59 | #if !defined(HAVE_STRSIGNAL) | 26 | #if !defined(HAVE_STRSIGNAL) |
60 | char *strsignal(int sig) | 27 | char *strsignal(int sig) |
61 | { | 28 | { |