]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Modules/Uptime.pl
fixed '.chanset' code.
[infobot.git] / src / Modules / Uptime.pl
index 40bdb4009e50e067bbd93bdc6d75e6308146ce6a..1756f7bf9f4326fce24d64f48059de25c2c33d55 100644 (file)
@@ -24,7 +24,7 @@ sub uptimeStr {
 }
 
 sub uptimeGetInfo {
-  my (%uptime,%done,%pid);
+  my (%uptime,%done);
   my ($uptime,$pid);
   my @results;
   my $file = $file{utm};
@@ -49,6 +49,7 @@ sub uptimeGetInfo {
 
   # fixed up bad implementation :)
   # should be no problems, even if uptime or pid is duplicated.
+  ## WARN: run away forks may get through here, have to fix.
   foreach $uptime (sort {$b <=> $a} keys %uptime) {
     foreach $pid (keys %{$uptime{$uptime}}) {
        next if (exists $done{$pid});
@@ -67,6 +68,11 @@ sub uptimeWriteFile {
   my @results = &uptimeGetInfo();
   my $file = $file{utm};
 
+  if ($$ != $bot_pid) {
+    &FIXME("uptime: forked process doing weird things!");
+    exit 0;
+  }
+
   if (!open(OUT,">$file")) {
     &status("error: cannot write to $file.");
     return;