diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2023-04-07 01:17:04 +0000 |
---|---|---|
committer | Laurent Bercot <ska@appnovation.com> | 2023-04-07 01:17:04 +0000 |
commit | 51e253133a87a72cfde9ce6bd8c12544b54721cb (patch) | |
tree | 67b532e4342f569cb89967a5c2349acddbfb5133 /src/libstddjb/selfpipe_finish.c | |
parent | 1d152882ecd60c177a09e84db4ea8766945e87b2 (diff) | |
download | skalibs-51e253133a87a72cfde9ce6bd8c12544b54721cb.tar.xz |
Add selfpipe_fd(), refactor selfpipe
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/libstddjb/selfpipe_finish.c')
-rw-r--r-- | src/libstddjb/selfpipe_finish.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/libstddjb/selfpipe_finish.c b/src/libstddjb/selfpipe_finish.c deleted file mode 100644 index db42430..0000000 --- a/src/libstddjb/selfpipe_finish.c +++ /dev/null @@ -1,53 +0,0 @@ -/* ISC license. */ - -/* MT-unsafe */ - -#include <skalibs/sysdeps.h> - -#ifdef SKALIBS_HASSIGNALFD - -#include <errno.h> -#include <signal.h> - -#include <skalibs/djbunix.h> -#include <skalibs/selfpipe.h> -#include "selfpipe-internal.h" - -void selfpipe_finish (void) -{ - int e = errno ; - fd_close(selfpipe_fd) ; - sigprocmask(SIG_UNBLOCK, &selfpipe_caught, 0) ; - sigemptyset(&selfpipe_caught) ; - selfpipe_fd = -1 ; - errno = e ; -} - -#else - -#include <skalibs/nonposix.h> -#include <skalibs/bsdsnowflake.h> - -#include <errno.h> -#include <signal.h> - -#include <skalibs/nsig.h> -#include <skalibs/sig.h> -#include <skalibs/djbunix.h> -#include <skalibs/selfpipe.h> -#include "selfpipe-internal.h" - -void selfpipe_finish (void) -{ - int e = errno ; - sigprocmask(SIG_BLOCK, &selfpipe_caught, 0) ; - sig_restoreto(&selfpipe_caught, SKALIBS_NSIG) ; - fd_close(selfpipe[1]) ; - fd_close(selfpipe[0]) ; - sigprocmask(SIG_UNBLOCK, &selfpipe_caught, 0) ; - sigemptyset(&selfpipe_caught) ; - selfpipe[0] = selfpipe[1] = -1 ; - errno = e ; -} - -#endif |