[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Make finish_daemon() return a boolean to say whether it did anything.
commit 622a2c6bee19af3bab0e84702a36ff2df39db7e7
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Wed Aug 8 16:59:53 2018 -0400
Make finish_daemon() return a boolean to say whether it did anything.
---
src/lib/process/daemon.c | 9 ++++++---
src/lib/process/daemon.h | 2 +-
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/lib/process/daemon.c b/src/lib/process/daemon.c
index 671579838..4836b3951 100644
--- a/src/lib/process/daemon.c
+++ b/src/lib/process/daemon.c
@@ -102,15 +102,16 @@ start_daemon(void)
/** Finish putting the process into daemon mode: drop standard fds, and tell
* the parent process to exit. (Note: it's safe to call this more than once:
* calls after the first are ignored. Calls start_daemon first if it hasn't
- * been called already.)
+ * been called already.) Return true if we actually did a fork; false if we
+ * didn't.
*/
-void
+int
finish_daemon(const char *desired_cwd)
{
int nullfd;
char c = '.';
if (finish_daemon_called)
- return;
+ return 0;
if (!start_daemon_called)
start_daemon();
finish_daemon_called = 1;
@@ -149,6 +150,8 @@ finish_daemon(const char *desired_cwd)
log_err(LD_GENERAL,"write failed. Exiting.");
}
close(daemon_filedes[1]);
+
+ return 0;
}
#else /* !(!defined(_WIN32)) */
/* defined(_WIN32) */
diff --git a/src/lib/process/daemon.h b/src/lib/process/daemon.h
index 1f26e9222..08cab17e1 100644
--- a/src/lib/process/daemon.h
+++ b/src/lib/process/daemon.h
@@ -12,6 +12,6 @@
#define TOR_DAEMON_H
void start_daemon(void);
-void finish_daemon(const char *desired_cwd);
+int finish_daemon(const char *desired_cwd);
#endif
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits