--- deliantra/server/lib/cf.pm 2007/01/22 03:44:41 1.190 +++ deliantra/server/lib/cf.pm 2007/01/23 01:05:18 1.191 @@ -2296,6 +2296,7 @@ reentrant => 0, data => WF_AUTOCANCEL, signal => $signal, + prio => 0, cb => sub { cf::cleanup "SIG$signal"; }, @@ -2480,7 +2481,7 @@ $TICK_WATCHER = Event->timer ( reentrant => 0, parked => 1, - prio => -1, + prio => 0, at => $NEXT_TICK || $TICK, data => WF_AUTOCANCEL, cb => sub { @@ -2499,8 +2500,11 @@ $WAIT_FOR_TICK->broadcast; $WAIT_FOR_TICK_ONE->send if $WAIT_FOR_TICK_ONE->awaited; - my $AFTER = Event::time; - warn $AFTER - $NOW;#d# + Event::sweep; + Coro::cede_notself; + +# my $AFTER = Event::time; +# warn $AFTER - $NOW;#d# # if we are delayed by four ticks or more, skip them all $NEXT_TICK = Event::time if Event::time >= $NEXT_TICK + $TICK * 4; @@ -2510,7 +2514,7 @@ }, ); -IO::AIO::max_poll_time $TICK * 0.2; +IO::AIO::max_poll_time $TICK * 0.1; undef $Coro::AIO::WATCHER; $AIO_POLL_WATCHER = Event->io (