… | |
… | |
80 | |
80 | |
81 | our $idle; # idle handler |
81 | our $idle; # idle handler |
82 | our $main; # main coro |
82 | our $main; # main coro |
83 | our $current; # current coro |
83 | our $current; # current coro |
84 | |
84 | |
85 | our $VERSION = 5.132; |
85 | our $VERSION = 5.16; |
86 | |
86 | |
87 | our @EXPORT = qw(async async_pool cede schedule terminate current unblock_sub); |
87 | our @EXPORT = qw(async async_pool cede schedule terminate current unblock_sub); |
88 | our %EXPORT_TAGS = ( |
88 | our %EXPORT_TAGS = ( |
89 | prio => [qw(PRIO_MAX PRIO_HIGH PRIO_NORMAL PRIO_LOW PRIO_IDLE PRIO_MIN)], |
89 | prio => [qw(PRIO_MAX PRIO_HIGH PRIO_NORMAL PRIO_LOW PRIO_IDLE PRIO_MIN)], |
90 | ); |
90 | ); |
… | |
… | |
398 | } |
398 | } |
399 | |
399 | |
400 | # use like this: |
400 | # use like this: |
401 | timeslice { |
401 | timeslice { |
402 | # The following is an endless loop that would normally |
402 | # The following is an endless loop that would normally |
403 | # monopolise the process. Sicne it runs in a timeslice |
403 | # monopolise the process. Since it runs in a timesliced |
404 | # environment, it will regularly cede to other threads. |
404 | # environment, it will regularly cede to other threads. |
405 | while () { } |
405 | while () { } |
406 | }; |
406 | }; |
407 | |
407 | |
408 | |
408 | |
… | |
… | |
751 | Wait for the specified rouse callback (or the last one that was created in |
751 | Wait for the specified rouse callback (or the last one that was created in |
752 | this coro). |
752 | this coro). |
753 | |
753 | |
754 | As soon as the callback is invoked (or when the callback was invoked |
754 | As soon as the callback is invoked (or when the callback was invoked |
755 | before C<rouse_wait>), it will return the arguments originally passed to |
755 | before C<rouse_wait>), it will return the arguments originally passed to |
756 | the rouse callback. |
756 | the rouse callback. In scalar context, that means you get the I<last> |
|
|
757 | argument, just as if C<rouse_wait> had a C<return ($a1, $a2, $a3...)> |
|
|
758 | statement at the end. |
757 | |
759 | |
758 | See the section B<HOW TO WAIT FOR A CALLBACK> for an actual usage example. |
760 | See the section B<HOW TO WAIT FOR A CALLBACK> for an actual usage example. |
759 | |
761 | |
760 | =back |
762 | =back |
761 | |
763 | |