]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Modules/Uptime.pl
converted %{$blah{$blah}} to %{ $blah{$blah} }
[infobot.git] / src / Modules / Uptime.pl
index 1ef9d22cffc6a7c3385efa9c02f3061c8391ee0c..1d8e927c6b6cf86190ecdb5eb778449f09a609d1 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Uptime.pl: Uptime daemon for infobot.
+# Uptime.pl: Uptime daemon.
 #    Author: dms
 #   Version: v0.3 (19991008)
 #   Created: 19990925.
@@ -17,14 +17,14 @@ sub uptimeStr {
   my $uptimenow = &uptimeNow();
 
   if (defined $_[0]) {
-    return "$uptimenow.$$ running $infobot_version, ended ". localtime(time());
+    return "$uptimenow.$$ running $bot_version, ended ". localtime(time());
   } else {
-    return "$uptimenow running $infobot_version";
+    return "$uptimenow running $bot_version";
   }
 }
 
 sub uptimeGetInfo {
-  my (%uptime,%done,%pid);
+  my (%uptime,%done);
   my ($uptime,$pid);
   my @results;
   my $file = $file{utm};
@@ -49,8 +49,9 @@ 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}}) {
+    foreach $pid (keys %{ $uptime{$uptime} }) {
        next if (exists $done{$pid});
 
        push(@results,"$uptime.$pid $uptime{$uptime}{$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;