summaryrefslogtreecommitdiffstats
path: root/daemon
diff options
context:
space:
mode:
authorwens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-08-21 10:01:03 +0800
committerwens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-08-21 10:01:03 +0800
commitd62a6dd804cabfe12c37365bcd2007a232cdc775 (patch)
tree4aefba6a77e33cff824416b330decd6d1b94f0c5 /daemon
parent4f1d0b00cd97daf64d7646b04c4963fcbaba6b6c (diff)
downloadpttbbs-d62a6dd804cabfe12c37365bcd2007a232cdc775.tar
pttbbs-d62a6dd804cabfe12c37365bcd2007a232cdc775.tar.gz
pttbbs-d62a6dd804cabfe12c37365bcd2007a232cdc775.tar.bz2
pttbbs-d62a6dd804cabfe12c37365bcd2007a232cdc775.tar.lz
pttbbs-d62a6dd804cabfe12c37365bcd2007a232cdc775.tar.xz
pttbbs-d62a6dd804cabfe12c37365bcd2007a232cdc775.tar.zst
pttbbs-d62a6dd804cabfe12c37365bcd2007a232cdc775.zip
Common daemonize function
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4399 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'daemon')
-rw-r--r--daemon/fromd/fromd.c21
1 files changed, 1 insertions, 20 deletions
diff --git a/daemon/fromd/fromd.c b/daemon/fromd/fromd.c
index de1ad44c..c350c4fa 100644
--- a/daemon/fromd/fromd.c
+++ b/daemon/fromd/fromd.c
@@ -55,25 +55,6 @@ static void listen_cb(int fd, short event, void *arg)
event_add(ev, &tv);
}
-void daemonize()
-{
- pid_t pid;
-
- if ( (pid = fork()) < 0)
- exit(1);
-
- if (pid > 0)
- exit(0);
-
- umask(0);
-
- if (setsid() < 0)
- exit(-1);
-
- if (chdir("/") < 0)
- exit(-1);
-}
-
int main(int argc, char *argv[])
{
int ch, sfd;
@@ -95,7 +76,7 @@ int main(int argc, char *argv[])
if ( (sfd = tobind(iface_ip)) < 0 )
return 1;
- daemonize();
+ daemonize(BBSHOME "/run/fromd.pid", NULL);
ip_desc_db_reload(cfgfile);