aboutsummaryrefslogtreecommitdiff
path: root/src/or
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/or
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/or')
-rw-r--r--src/or/main.c4
-rw-r--r--src/or/or.h3
2 files changed, 2 insertions, 5 deletions
diff --git a/src/or/main.c b/src/or/main.c
index 6713d8036..2ca717459 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -54,6 +54,7 @@
#include "routerparse.h"
#include "statefile.h"
#include "status.h"
+#include "util_process.h"
#include "ext_orport.h"
#ifdef USE_DMALLOC
#include <dmalloc.h>
@@ -2097,8 +2098,7 @@ process_signal(uintptr_t sig)
break;
#ifdef SIGCHLD
case SIGCHLD:
- while (waitpid(-1,NULL,WNOHANG) > 0) ; /* keep reaping until no more
- zombies */
+ notify_pending_waitpid_callbacks();
break;
#endif
case SIGNEWNYM: {
diff --git a/src/or/or.h b/src/or/or.h
index aeaeb8e6a..9586034d1 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -42,9 +42,6 @@
#include <sys/param.h> /* FreeBSD needs this to know what version it is */
#endif
#include "torint.h"
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
#ifdef HAVE_SYS_FCNTL_H
#include <sys/fcntl.h>
#endif