diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2021-07-28 23:45:20 +0000 |
---|---|---|
committer | Laurent Bercot <ska@appnovation.com> | 2021-07-28 23:45:20 +0000 |
commit | 9592bfd0dda7c575de07bce2c7a81b8432d845a4 (patch) | |
tree | 57c66c3e0dfeb63cfd3ebfef18e30a2145ae3f88 /src/libstddjb/skasigaction.c | |
parent | c15bccec3fd551583ff838673ba284ee6c7e788a (diff) | |
download | skalibs-9592bfd0dda7c575de07bce2c7a81b8432d845a4.tar.xz |
Huge incompatible changes.
- Obsolete skalibs/environ.h and skalibs/getpeereid.h removed.
- rc4 and md5 removed.
- All *_t types renamed to avoid treading on POSIX namespace.
- subgetopt() renamed to lgetopt().
- signal functions reworked; skasigaction removed; sig_stack removed
- Various functions removed: skaoffsetof(), selfpipe_untrap()
- New posixplz function: munmap_void.
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/libstddjb/skasigaction.c')
-rw-r--r-- | src/libstddjb/skasigaction.c | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/src/libstddjb/skasigaction.c b/src/libstddjb/skasigaction.c deleted file mode 100644 index e86cc0c..0000000 --- a/src/libstddjb/skasigaction.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ISC license. */ - -#include <skalibs/config.h> -#include <signal.h> -#include <skalibs/sig.h> - -int skasigaction (int sig, struct skasigaction const *new, struct skasigaction *old) -{ - struct sigaction sanew, saold ; - if (((new->flags & SKASA_MASKALL) ? sigfillset(&sanew.sa_mask) : sigemptyset(&sanew.sa_mask)) == -1) return -1 ; - sanew.sa_handler = new->handler ; - sanew.sa_flags = (new->flags & SKASA_NOCLDSTOP) ? SA_NOCLDSTOP : 0 ; -#ifndef SKALIBS_FLAG_PREFERSELECT - sanew.sa_flags |= SA_RESTART ; -#endif - if (sigaction(sig, &sanew, &saold) < 0) return -1 ; - if (old) - { - int r = sigismember(&saold.sa_mask, (sig == SIGTERM) ? SIGPIPE : SIGTERM) ; - if (r < 0) return -1 ; - old->flags = 0 ; - if (r) old->flags |= SKASA_MASKALL ; - if (saold.sa_flags & SA_NOCLDSTOP) old->flags |= SKASA_NOCLDSTOP ; - old->handler = saold.sa_handler ; - } - return 0 ; -} |