--- deliantra/server/ext/schmorplog.ext 2007/01/07 23:10:42 1.5 +++ deliantra/server/ext/schmorplog.ext 2007/01/24 16:29:10 1.7 @@ -1,8 +1,9 @@ #! perl -our $UPDATE_LOGINS = Event->idle (repeat => 0, min => 1, data => cf::WF_AUTOCANCEL, cb => sub { +our $UPDATE_LOGINS = Event->idle (repeat => 0, min => 1, data => cf::WF_AUTOCANCEL, cb => Coro::unblock_sub { my ($status, @pl) = ext::commands::who_listing; + #TODO: write files asynchronously open my $fh, ">", cf::localdir . "/usercount"; print $fh scalar @pl; @@ -32,13 +33,13 @@ warn "LOGIN: ", $pl->ob->name, " from ", $pl->ns->host; }, on_logout => sub { - my ($pl) = @_; + my ($pl, $cleanly) = @_; $pl->ob->set_ob_key_value (schmorplog_last_logout => time); ext::schmorp_irc::do_notice (sprintf "%s left", $pl->ob->name); $UPDATE_LOGINS->start; - warn "LOGOUT: ", $pl->ob->name, " from ", $pl->ns->host; + warn "LOGOUT: ", $pl->ob->name, " from ", $pl->ns->host, " ($cleanly)"; }, on_birth => sub { my ($pl) = @_;