-rw-r--r-- | src/iiid.cc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/iiid.cc b/src/iiid.cc index bd65001..29acd06 100644 --- a/src/iiid.cc +++ b/src/iiid.cc | |||
@@ -88,35 +88,33 @@ int main(int argc,char **argv) try { | |||
88 | glob_t g; int rg = glob(EYEKIN_CONF_DIR"/????????????.conf",GLOB_NOSORT,NULL,&g); | 88 | glob_t g; int rg = glob(EYEKIN_CONF_DIR"/????????????.conf",GLOB_NOSORT,NULL,&g); |
89 | if(rg || !g.gl_pathc) | 89 | if(rg || !g.gl_pathc) |
90 | syslog(LOG_WARNING,"I see nothing resembling a card config in '%s'",EYEKIN_CONF_DIR); | 90 | syslog(LOG_WARNING,"I see nothing resembling a card config in '%s'",EYEKIN_CONF_DIR); |
91 | else | 91 | else |
92 | globfree(&g); | 92 | globfree(&g); |
93 | 93 | ||
94 | if(daemon_mode){ | 94 | if(daemon_mode){ |
95 | pid_t pid, sid; | 95 | pid_t pid, sid; |
96 | 96 | ||
97 | /* Fork off the parent process */ | 97 | /* Fork off the parent process */ |
98 | pid = fork(); | 98 | pid = fork(); |
99 | if (pid < 0) { | 99 | if (pid < 0) { |
100 | syslog(LOG_ERR, "Error forking the parent process"); | ||
100 | exit(EXIT_FAILURE); | 101 | exit(EXIT_FAILURE); |
101 | } | 102 | } |
102 | /* If we got a good PID, then | 103 | |
103 | we can exit the parent process. */ | 104 | /* If we got a good PID, then we can exit the parent process. */ |
104 | if (pid > 0) { | 105 | if (pid > 0) { |
105 | exit(EXIT_SUCCESS); | 106 | exit(EXIT_SUCCESS); |
106 | } | 107 | } |
107 | 108 | ||
108 | /* Change the file mode mask */ | ||
109 | umask(0); | ||
110 | |||
111 | /* Create a new SID for the child process */ | 109 | /* Create a new SID for the child process */ |
112 | sid = setsid(); | 110 | sid = setsid(); |
113 | if (sid < 0) { | 111 | if (sid < 0) { |
114 | syslog(LOG_ERR, "Error creating a new SID for the child process"); | 112 | syslog(LOG_ERR, "Error creating a new SID for the child process"); |
115 | exit(EXIT_FAILURE); | 113 | exit(EXIT_FAILURE); |
116 | } | 114 | } |
117 | 115 | ||
118 | /* Change the current working directory */ | 116 | /* Change the current working directory */ |
119 | if ((chdir("/")) < 0) { | 117 | if ((chdir("/")) < 0) { |
120 | syslog(LOG_ERR, "Error changing current working directory to /"); | 118 | syslog(LOG_ERR, "Error changing current working directory to /"); |
121 | exit(EXIT_FAILURE); | 119 | exit(EXIT_FAILURE); |
122 | } | 120 | } |