X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/94a1d5fce6a68fce8216d4b45ef6148d353c2c3a..32654a316b5925914f5e5f481971d47f9728edab:/process.c diff --git a/process.c b/process.c index 77fe38e..c14dd69 100644 --- a/process.c +++ b/process.c @@ -236,6 +236,16 @@ void afterfork(void) sigprocmask(SIG_SETMASK,&emptyset,NULL); } +void childpersist_closefd_hook(void *fd_vp, uint32_t newphase) +{ + int *fd_p=fd_vp; + int fd=*fd_p; + if (fd<0) return; + *fd_p=-1; + setnonblock(fd); /* in case close() might block */ + close(fd); /* discard errors - we don't care, in the child */ +} + static void signal_handler(int signum) { int saved_errno;