diff options
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 |