… | |
… | |
3880 | |
3880 | |
3881 | our @WAIT_FOR_TICK; |
3881 | our @WAIT_FOR_TICK; |
3882 | our @WAIT_FOR_TICK_BEGIN; |
3882 | our @WAIT_FOR_TICK_BEGIN; |
3883 | |
3883 | |
3884 | sub wait_for_tick { |
3884 | sub wait_for_tick { |
3885 | return if tick_inhibit || $Coro::current == $Coro::main; |
3885 | return Coro::cede if tick_inhibit || $Coro::current == $Coro::main; |
3886 | |
3886 | |
3887 | my $signal = new Coro::Signal; |
3887 | my $signal = new Coro::Signal; |
3888 | push @WAIT_FOR_TICK, $signal; |
3888 | push @WAIT_FOR_TICK, $signal; |
3889 | $signal->wait; |
3889 | $signal->wait; |
3890 | } |
3890 | } |
3891 | |
3891 | |
3892 | sub wait_for_tick_begin { |
3892 | sub wait_for_tick_begin { |
3893 | return if tick_inhibit || $Coro::current == $Coro::main; |
3893 | return Coro::cede if tick_inhibit || $Coro::current == $Coro::main; |
3894 | |
3894 | |
3895 | my $signal = new Coro::Signal; |
3895 | my $signal = new Coro::Signal; |
3896 | push @WAIT_FOR_TICK_BEGIN, $signal; |
3896 | push @WAIT_FOR_TICK_BEGIN, $signal; |
3897 | $signal->wait; |
3897 | $signal->wait; |
3898 | } |
3898 | } |