summaryrefslogtreecommitdiff
path: root/src/libstddjb/selfpipe_finish.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2023-04-07 01:17:04 +0000
committerLaurent Bercot <ska@appnovation.com>2023-04-07 01:17:04 +0000
commit51e253133a87a72cfde9ce6bd8c12544b54721cb (patch)
tree67b532e4342f569cb89967a5c2349acddbfb5133 /src/libstddjb/selfpipe_finish.c
parent1d152882ecd60c177a09e84db4ea8766945e87b2 (diff)
downloadskalibs-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.c53
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