summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pullreqd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/pullreqd.c b/pullreqd.c
index 8161c8d..a690b3e 100644
--- a/pullreqd.c
+++ b/pullreqd.c
@@ -7,3 +7,17 @@
#include <sys/type.h>
#include <syslog.h>
#include <unistd.h>
+
+pid_t fork_proc() {
+ /* Fork off the parent. */
+ pid_t pid = fork();
+
+ /* The process id is non zero, so it must be the parent process. */
+ if (pid) {
+ /* Exit with EXIT_FAILURE if the parent's pid is
+ * negative, otherwise exit with EXIT_SUCCESS.
+ */
+ exit((pid < 0) ? EXIT_FAILURE : EXIT_SUCCESS);
+ }
+ return pid;
+}