--- deliantra/server/ext/login.ext 2007/01/18 21:27:19 1.26 +++ deliantra/server/ext/login.ext 2007/01/22 03:44:41 1.27 @@ -350,8 +350,9 @@ our $SAVE_TIMEOUT = 20; # save players every n seconds our $SCHEDULER = cf::async_ext { + my $schedule_interval = Coro::Event->timer (after => 1, interval => $SCHEDULE_INTERVAL); while () { - Coro::Timer::sleep $SCHEDULE_INTERVAL; + $schedule_interval->next; # this weird form of iteration over values is used because # the hash changes underneath us frequently, and for