… | … | ||
---|---|---|---|
80 | and, most important, without blocking other coroutines. | 80 | and, most important, without blocking other coroutines. |
81 | 81 | ||
82 | =cut | 82 | =cut |
83 | 83 | ||
84 | sub sleep { | 84 | sub sleep { |
85 | my $current = $Coro::current; | ||
86 | |||
87 | my $timer = AnyEvent->timer (after => $_[0], cb => sub { | 85 | my $timer = AnyEvent->timer (after => $_[0], cb => Coro::rouse_cb); |
88 | $current->ready; | 86 | Coro::rouse_wait; |
89 | undef $current; | ||
90 | }); | ||
91 | |||
92 | do { &Coro::schedule } while $current; | ||
93 | } | 87 | } |
94 | 88 | ||
95 | 1; | 89 | 1; |
96 | 90 | ||
97 | =back | 91 | =back |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |