CVSROOT: ciabot.pl - check for fork error, STDERR close restored

glen glen at pld-linux.org
Wed Jan 23 22:25:05 CET 2008


Author: glen                         Date: Wed Jan 23 21:25:05 2008 GMT
Module: CVSROOT                       Tag: HEAD
---- Log message:
- check for fork error, STDERR close restored

---- Files affected:
CVSROOT:
   ciabot.pl (1.20 -> 1.21) 

---- Diffs:

================================================================
Index: CVSROOT/ciabot.pl
diff -u CVSROOT/ciabot.pl:1.20 CVSROOT/ciabot.pl:1.21
--- CVSROOT/ciabot.pl:1.20	Wed Jan 23 22:15:52 2008
+++ CVSROOT/ciabot.pl	Wed Jan 23 22:25:00 2008
@@ -132,10 +132,10 @@
   chdir '/'               or die "Can't chdir to /: $!";
   open STDIN, '/dev/null' or die "Can't read /dev/null: $!";
   open STDOUT, '>/dev/null' or die "Can't write to /dev/null: $!";
-  open STDERR, '>&STDOUT' or die "Can't dup stdout: $!";
   defined(my $pid = fork) or die "Can't fork: $!";
   exit if $pid;
   setsid                  or die "Can't start a new session: $!";
+  open STDERR, '>&STDOUT' or die "Can't dup stdout: $!";
 }
 
 ### Input data loading
@@ -234,7 +234,8 @@
   open(FF, ">>$syncfile") or die "aieee... can't log, can't log! $syncfile blocked!";
   close(FF);
 
-  exit if (fork);
+  defined(my $pid = fork) or die "Can't fork: $!";
+  exit if $pid;
 
   daemonize();
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/CVSROOT/ciabot.pl?r1=1.20&r2=1.21&f=u



More information about the pld-cvs-commit mailing list