new style disconnect
[spider.git] / perl / cluster.pl
index ef565eb7ddebae52ad0dac1246500f1b87b4d52a..9e14396b9018ed5a4d1f7e66173e5174113a3636 100755 (executable)
@@ -89,8 +89,11 @@ use SysVar;
 
 use strict;
 
+use Mojolicious 7.26;
+
 use Mojo::IOLoop;
 
+use DXDebug;
 use Msg;
 use IntMsg;
 use Internet;
@@ -98,7 +101,6 @@ use Listeners;
 use ExtMsg;
 use AGWConnect;
 use AGWMsg;
-use DXDebug;
 use DXLog;
 use DXLogPrint;
 use DXUtil;
@@ -239,7 +241,7 @@ sub new_channel
                                return;
                        }
                        if ($bumpexisting) {
-                               my $ip = $conn->peerhost || 'unknown';
+                               my $ip = $dxchan->hostname;
                                $dxchan->send_now('D', DXM::msg($lang, 'conbump', $call, $ip));
                                LogDbg('DXCommand', "$call bumped off by $ip, disconnected");
                                $dxchan->disconnect;
@@ -272,7 +274,7 @@ sub new_channel
                my $lock = $user->lockout if $user;
                if ($baseuser && $baseuser->lockout || $lock) {
                        if (!$user || !defined $lock || $lock) {
-                               my $host = $conn->peerhost || "unknown";
+                               my $host = $conn->peerhost;
                                LogDbg('DXCommand', "$call on $host is locked out, disconnected");
                                $conn->disconnect;
                                return;
@@ -632,6 +634,8 @@ our $io_disconnected;
 sub idle_loop
 {
        BPQMsg::process();
+       DXCommandmode::process(); # process ongoing command mode stuff
+       DXProt::process();              # process ongoing ak1a pcxx stuff
 
        if (defined &Local::process) {
                eval {
@@ -677,9 +681,7 @@ sub per_sec
        }
        IsoTime::update($systime);
        DXCron::process();      # do cron jobs
-       DXCommandmode::process(); # process ongoing command mode stuff
        DXXml::process();
-       DXProt::process();              # process ongoing ak1a pcxx stuff
        DXConnect::process();
        DXMsg::process();
        DXDb::process();
@@ -687,7 +689,6 @@ sub per_sec
        DXDupe::process();
        DXCron::process();                      # do cron jobs
        IsoTime::update($systime);
-       DXProt::process();                      # process ongoing ak1a pcxx stuff
        DXConnect::process();
        DXUser::process();
        AGWMsg::process();