From 338dcccc8d8532a446fa60dc65092b5510c06e3a Mon Sep 17 00:00:00 2001 From: root Date: Sat, 9 Apr 2022 11:57:42 +0100 Subject: various improvements --- email.c | 51 +-------------------------------------------------- 1 file changed, 1 insertion(+), 50 deletions(-) (limited to 'email.c') diff --git a/email.c b/email.c index 0ee47ff..7374c34 100644 --- a/email.c +++ b/email.c @@ -8,60 +8,11 @@ #include +#include "util.h" #include "email.h" -static int daemonish (int nochdir, int noclose) -{ - pid_t pid; - int status; - - if (!nochdir && chdir ("/")) - return -1; - - if (!noclose) { - int fd, failed = 0; - - if ((fd = open ("/dev/null", O_RDWR)) < 0) return -1; - - if (dup2 (fd, 0) < 0 || dup2 (fd, 1) < 0 || dup2 (fd, 2) < 0) - failed++; - - if (fd > 2) close (fd); - - if (failed) return -1; - } - - switch ((pid = fork())) { - case 0: - break; - - case -1: - return -1; - - default: - waitpid (pid, &status, 0); - return 1;; - } - - if (setsid() < 0) return -1; - - switch (fork()) { - case 0: - break; - - case -1: - return -1; - - default: - _exit (0); - } - - return 0; -} - - static void write_complete (int fd, const void *_buf, size_t len) { ssize_t writ; -- cgit v1.2.3