diff options
author | Markus Uhlin <markus@nifty-networks.net> | 2024-08-04 02:09:56 +0200 |
---|---|---|
committer | Markus Uhlin <markus@nifty-networks.net> | 2024-08-04 02:09:56 +0200 |
commit | ea36b3dfcccdc0f620603c3abb797d178ff4b50a (patch) | |
tree | a98ad79bf264660e2db5ac225a8b92f5e58c6776 /FICS/ficsmain.c | |
parent | a285a990436511d506bc80553807ed848bdbeff2 (diff) |
Changed daemonize()
Diffstat (limited to 'FICS/ficsmain.c')
-rw-r--r-- | FICS/ficsmain.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/FICS/ficsmain.c b/FICS/ficsmain.c index f1bdf6d..d9ba3d1 100644 --- a/FICS/ficsmain.c +++ b/FICS/ficsmain.c @@ -87,25 +87,25 @@ daemonize(void) __func__, DAEMON_LOCKFILE); } else if ((fd[0] = open(DAEMON_LOCKFILE, (O_CREAT | O_RDWR), - mode[0])) == -1) + mode[0])) == -1) { err(1, "%s: open(%s, ...)", __func__, DAEMON_LOCKFILE); - - dprintf(fd[0], "%jd\n", (intmax_t)getpid()); - close(fd[0]); - - if ((fd[1] = open(DAEMON_LOGFILE, (O_APPEND | O_CREAT | O_RDWR), - mode[1])) == -1) + } else if ((fd[1] = open(DAEMON_LOGFILE, (O_APPEND | O_CREAT | O_RDWR), + mode[1])) == -1) { err(1, "%s: open(%s, ...)", __func__, DAEMON_LOGFILE); - else if (daemon(1, 1) == -1) { + } else if (daemon(1, 1) == -1) { int i; i = errno; + close(fd[0]); close(fd[1]); errno = i; err(1, "%s: failed to run in the background", __func__); } + dprintf(fd[0], "%jd\n", (intmax_t)getpid()); + close(fd[0]); + (void) dup2(fd[1], STDIN_FILENO); (void) dup2(fd[1], STDOUT_FILENO); (void) dup2(fd[1], STDERR_FILENO); |