aboutsummaryrefslogtreecommitdiff
path: root/src/common/util_process.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-04-09 13:45:27 -0400
committerNick Mathewson <nickm@torproject.org>2014-06-14 11:40:27 -0400
commit4ed03965a5a412bf58540e678f48f6c331ad30d9 (patch)
tree3f5b5783104d00129773c2e07a170b824373cf57 /src/common/util_process.h
parent87e16087b74d1348a1500a24cce238a2463822dc (diff)
downloadtor-4ed03965a5a412bf58540e678f48f6c331ad30d9.tar
tor-4ed03965a5a412bf58540e678f48f6c331ad30d9.tar.gz
New waitpid-handler functions to run callbacks when a child exits.
Also, move 'procmon' into libor_event library, since it uses libevent.
Diffstat (limited to 'src/common/util_process.h')
-rw-r--r--src/common/util_process.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/common/util_process.h b/src/common/util_process.h
new file mode 100644
index 000000000..877702c68
--- /dev/null
+++ b/src/common/util_process.h
@@ -0,0 +1,25 @@
+/* Copyright (c) 2011-2013, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file util_process.h
+ * \brief Headers for util_process.c
+ **/
+
+#ifndef TOR_UTIL_PROCESS_H
+#define TOR_UTIL_PROCESS_H
+
+#ifndef _WIN32
+/** A callback structure waiting for us to get a SIGCHLD informing us that a
+ * PID has been closed. Created by set_waitpid_callback. Cancelled or cleaned-
+ * up from clear_waitpid_callback(). Do not access outside of the main thread;
+ * do not access from inside a signal handler. */
+typedef struct waitpid_callback_t waitpid_callback_t;
+
+waitpid_callback_t *set_waitpid_callback(pid_t pid,
+ void (*fn)(int, void *), void *arg);
+void clear_waitpid_callback(waitpid_callback_t *ent);
+void notify_pending_waitpid_callbacks(void);
+#endif
+
+#endif