Files
mosh/third/libstddjb/selfpipe_finish.c
T
Quentin Smith 77f3a9073f Import selfpipe code from skalibs 1.2.5
[andersk@mit.edu: Move code to new third/libstddjb directory]
2012-03-07 03:05:37 -05:00

36 lines
583 B
C

/* ISC license. */
/* MT-unsafe */
#include <signal.h>
#include "sysdeps.h"
#include "djbunix.h"
#include "selfpipe-internal.h"
#include "selfpipe.h"
#ifdef HASSIGNALFD
void selfpipe_finish (void)
{
sigprocmask(SIG_UNBLOCK, &selfpipe_caught, 0) ;
sigemptyset(&selfpipe_caught) ;
fd_close(selfpipe_fd) ;
selfpipe_fd = -1 ;
}
#else
#include "sig.h"
#include "nsig.h"
void selfpipe_finish (void)
{
sig_restoreto(&selfpipe_caught, NSIG) ;
sigemptyset(&selfpipe_caught) ;
fd_close(selfpipe[1]) ;
fd_close(selfpipe[0]) ;
selfpipe[0] = selfpipe[1] = -1 ;
}
#endif