summaryrefslogtreecommitdiff
path: root/openbsd-compat/bsd-signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsd-compat/bsd-signal.c')
-rw-r--r--openbsd-compat/bsd-signal.c28
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
28mysig_t
29mysignal(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)
55char *strsignal(int sig) 27char *strsignal(int sig)
56{ 28{