diff options
Diffstat (limited to 'openbsd-compat/bsd-signal.c')
-rw-r--r-- | openbsd-compat/bsd-signal.c | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/openbsd-compat/bsd-signal.c b/openbsd-compat/bsd-signal.c index 0b816a3a6..38d5e972e 100644 --- a/openbsd-compat/bsd-signal.c +++ b/openbsd-compat/bsd-signal.c | |||
@@ -23,34 +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 | #ifdef SA_INTERRUPT | ||
41 | if (sig == SIGALRM) | ||
42 | sa.sa_flags |= SA_INTERRUPT; | ||
43 | #endif | ||
44 | sa.sa_handler = act; | ||
45 | if (sigaction(sig, &sa, NULL) == -1) | ||
46 | return (mysig_t) -1; | ||
47 | } | ||
48 | return (osa.sa_handler); | ||
49 | #else | ||
50 | return (signal(sig, act)); | ||
51 | #endif | ||
52 | } | ||
53 | |||
54 | #if !defined(HAVE_STRSIGNAL) | 26 | #if !defined(HAVE_STRSIGNAL) |
55 | char *strsignal(int sig) | 27 | char *strsignal(int sig) |
56 | { | 28 | { |