]> git.donarmstrong.com Git - infobot.git/blobdiff - src/IRC/Schedulers.pl
eep, scalar() would be nice
[infobot.git] / src / IRC / Schedulers.pl
index e1646dae42d7381fb9958f69361ae9f293826154..08be4a966ed64b57395d8334f68a49169d6f3113 100644 (file)
@@ -686,11 +686,8 @@ sub ircCheck {
     }
 
     # debug. needed for testing
-    open(OUT, ">>irccheck.log");
-    my $t = scalar(localtime);
-    printf OUT "%s: conn->connected = %s\n", $t, $conn->connected();
-    printf OUT "%s: time()-msgtime  = %d\n", $t, time() - $msgtime;
-    close OUT;
+    &TODO("conn->connected = " . scalar($conn->connected()));
+    &TODO("time()-msgtime = " . scalar(time() - $msgtime));
 
     if (!$conn->connected or time() - $msgtime > 3600) {
        # todo: shouldn't we use cache{connect} somewhere?
@@ -768,10 +765,15 @@ sub miscCheck {
        my ($shmid, $size) = ($2,$5);
        next unless ($shmid != $shm and $size == 2000);
        my $z   = &shmRead($shmid);
-       if ($z =~ /^(\d+): /) {
-           my $time    = $1;
+       if ($z =~ /^(\S+):(\d+):(\d+): /) {
+           my $n       = $1;
+           my $pid     = $2;
+           my $time    = $3;
            next if (time() - $time < 60*60);
-
+           # FIXME remove not-pid shm if parent process dead
+           next if ($pid == $bot_pid);
+           # don't touch other bots, if they're running.
+           next unless ($param{ircNick} =~ /^\Q$n\E$/);
        } else {
 #          &DEBUG("shm: $shmid is not ours or old blootbot => ($z)");
 #          next;