Merge branch 'maint-0.4.8' into release-0.4.8
[tor.git] / src / lib / process / waitpid.h
blob1af8a41506c4a4d3e2af2f1285d9fff569399b89
1 /* Copyright (c) 2011-2021, The Tor Project, Inc. */
2 /* See LICENSE for licensing information */
4 /**
5 * \file waitpid.h
6 * \brief Headers for waitpid.c
7 **/
9 #ifndef TOR_WAITPID_H
10 #define TOR_WAITPID_H
12 #ifndef _WIN32
13 #ifdef HAVE_SYS_TYPES_H
14 #include <sys/types.h>
15 #endif
17 /** A callback structure waiting for us to get a SIGCHLD informing us that a
18 * PID has been closed. Created by set_waitpid_callback. Cancelled or cleaned-
19 * up from clear_waitpid_callback(). Do not access outside of the main thread;
20 * do not access from inside a signal handler. */
21 typedef struct waitpid_callback_t waitpid_callback_t;
23 waitpid_callback_t *set_waitpid_callback(pid_t pid,
24 void (*fn)(int, void *), void *arg);
25 void clear_waitpid_callback(waitpid_callback_t *ent);
26 void notify_pending_waitpid_callbacks(void);
27 #endif /* !defined(_WIN32) */
29 #endif /* !defined(TOR_WAITPID_H) */