diff options
-rw-r--r-- | openbsd-compat/bsd-signal.c | 33 | ||||
-rw-r--r-- | openbsd-compat/bsd-signal.h | 5 |
2 files changed, 0 insertions, 38 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 | { |
diff --git a/openbsd-compat/bsd-signal.h b/openbsd-compat/bsd-signal.h index 4cb8cb7a0..dafb4b199 100644 --- a/openbsd-compat/bsd-signal.h +++ b/openbsd-compat/bsd-signal.h | |||
@@ -27,11 +27,6 @@ | |||
27 | # endif | 27 | # endif |
28 | #endif | 28 | #endif |
29 | 29 | ||
30 | /* wrapper for signal interface */ | ||
31 | typedef void (*mysig_t)(int); | ||
32 | mysig_t mysignal(int sig, mysig_t act); | ||
33 | #define signal(a,b) mysignal(a,b) | ||
34 | |||
35 | #if !defined(HAVE_STRSIGNAL) | 30 | #if !defined(HAVE_STRSIGNAL) |
36 | char *strsignal(int); | 31 | char *strsignal(int); |
37 | #endif | 32 | #endif |