… | |
… | |
492 | our $SAVE_TIMEOUT = $cf::CFG{player_save_interval} || 20; # save players every n seconds |
492 | our $SAVE_TIMEOUT = $cf::CFG{player_save_interval} || 20; # save players every n seconds |
493 | |
493 | |
494 | our $SCHEDULER = cf::async_ext { |
494 | our $SCHEDULER = cf::async_ext { |
495 | $Coro::current->{desc} = "player scheduler"; |
495 | $Coro::current->{desc} = "player scheduler"; |
496 | |
496 | |
497 | my $schedule_interval = Coro::Event->timer (after => 1); |
497 | my $schedule_interval = Coro::Event->timer (after => 1, data => cf::WF_AUTOCANCEL); |
498 | while () { |
498 | while () { |
499 | $schedule_interval->interval ($SCHEDULE_INTERVAL); |
499 | $schedule_interval->interval ($SCHEDULE_INTERVAL); |
500 | $schedule_interval->next; |
500 | $schedule_interval->next; |
501 | |
501 | |
502 | # this weird form of iteration over values is used because |
502 | # this weird form of iteration over values is used because |