… | |
… | |
57 | |
57 | |
58 | our $idle; # idle handler |
58 | our $idle; # idle handler |
59 | our $main; # main coroutine |
59 | our $main; # main coroutine |
60 | our $current; # current coroutine |
60 | our $current; # current coroutine |
61 | |
61 | |
62 | our $VERSION = '4.1'; |
62 | our $VERSION = '4.31'; |
63 | |
63 | |
64 | our @EXPORT = qw(async async_pool cede schedule terminate current unblock_sub); |
64 | our @EXPORT = qw(async async_pool cede schedule terminate current unblock_sub); |
65 | our %EXPORT_TAGS = ( |
65 | our %EXPORT_TAGS = ( |
66 | prio => [qw(PRIO_MAX PRIO_HIGH PRIO_NORMAL PRIO_LOW PRIO_IDLE PRIO_MIN)], |
66 | prio => [qw(PRIO_MAX PRIO_HIGH PRIO_NORMAL PRIO_LOW PRIO_IDLE PRIO_MIN)], |
67 | ); |
67 | ); |
… | |
… | |
309 | |
309 | |
310 | "Cede" to other coroutines. This function puts the current coroutine into the |
310 | "Cede" to other coroutines. This function puts the current coroutine into the |
311 | ready queue and calls C<schedule>, which has the effect of giving up the |
311 | ready queue and calls C<schedule>, which has the effect of giving up the |
312 | current "timeslice" to other coroutines of the same or higher priority. |
312 | current "timeslice" to other coroutines of the same or higher priority. |
313 | |
313 | |
314 | Returns true if at least one coroutine switch has happened. |
|
|
315 | |
|
|
316 | =item Coro::cede_notself |
314 | =item Coro::cede_notself |
317 | |
315 | |
318 | Works like cede, but is not exported by default and will cede to any |
316 | Works like cede, but is not exported by default and will cede to any |
319 | coroutine, regardless of priority, once. |
317 | coroutine, regardless of priority, once. |
320 | |
|
|
321 | Returns true if at least one coroutine switch has happened. |
|
|
322 | |
318 | |
323 | =item terminate [arg...] |
319 | =item terminate [arg...] |
324 | |
320 | |
325 | Terminates the current coroutine with the given status values (see L<cancel>). |
321 | Terminates the current coroutine with the given status values (see L<cancel>). |
326 | |
322 | |
… | |
… | |
632 | |
628 | |
633 | Event/IO: L<Coro::Timer>, L<Coro::Event>, L<Coro::Handle>, L<Coro::Socket>. |
629 | Event/IO: L<Coro::Timer>, L<Coro::Event>, L<Coro::Handle>, L<Coro::Socket>. |
634 | |
630 | |
635 | Compatibility: L<Coro::LWP>, L<Coro::Storable>, L<Coro::Select>. |
631 | Compatibility: L<Coro::LWP>, L<Coro::Storable>, L<Coro::Select>. |
636 | |
632 | |
637 | Embedding: L<Coro:MakeMaker>. |
633 | Embedding: L<Coro::MakeMaker>. |
638 | |
634 | |
639 | =head1 AUTHOR |
635 | =head1 AUTHOR |
640 | |
636 | |
641 | Marc Lehmann <schmorp@schmorp.de> |
637 | Marc Lehmann <schmorp@schmorp.de> |
642 | http://home.schmorp.de/ |
638 | http://home.schmorp.de/ |