Browse code

early fork

git-svn: trunk@4792

aCaB authored on 2009/02/16 02:42:03
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Sun Feb 15 19:10:59 CET 2009 (acab)
2
+-----------------------------------
3
+ * clamav-milter/clamav-milter.c: create threads after forking
4
+
1 5
 Sun Feb 15 18:20:40 CET 2009 (acab)
2 6
 -----------------------------------
3 7
  * clamav-milter:clamav-milter/netcode.c: fix leaks
... ...
@@ -237,6 +237,21 @@ int main(int argc, char **argv) {
237 237
 	optfree(opts);
238 238
 	return 1;
239 239
     }
240
+
241
+    if(!optget(opts, "Foreground")->enabled) {
242
+	if(daemonize() == -1) {
243
+	    logg("!daemonize() failed\n");
244
+	    localnets_free();
245
+	    whitelist_free();
246
+	    cpool_free();
247
+	    logg_close();
248
+	    optfree(opts);
249
+	    return 1;
250
+	}
251
+	if(chdir("/") == -1)
252
+	    logg("^Can't change current working directory to root\n");
253
+    }
254
+
240 255
     if(smfi_setconn(my_socket) == MI_FAILURE) {
241 256
 	logg("!smfi_setconn failed\n");
242 257
 	localnets_free();
... ...
@@ -276,20 +291,6 @@ int main(int argc, char **argv) {
276 276
 	return 1;
277 277
     }	
278 278
 
279
-    if(!optget(opts, "Foreground")->enabled) {
280
-	if(daemonize() == -1) {
281
-	    logg("!daemonize() failed\n");
282
-	    localnets_free();
283
-	    whitelist_free();
284
-	    cpool_free();
285
-	    logg_close();
286
-	    optfree(opts);
287
-	    return 1;
288
-	}
289
-	if(chdir("/") == -1)
290
-	    logg("^Can't change current working directory to root\n");
291
-    }
292
-
293 279
     if((opt = optget(opts, "PidFile"))->enabled) {
294 280
 	FILE *fd;
295 281
 	mode_t old_umask = umask(0006);