]> git.donarmstrong.com Git - infobot.git/blobdiff - src/IRC/Schedulers.pl
eep, scalar() would be nice
[infobot.git] / src / IRC / Schedulers.pl
index 84b8da5038193c456a36a11c59ef8689f624c7bb..08be4a966ed64b57395d8334f68a49169d6f3113 100644 (file)
@@ -685,6 +685,10 @@ sub ircCheck {
        &joinNextChan();
     }
 
+    # debug. needed for testing
+    &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?
        if (exists $cache{connect}) {
@@ -761,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;