ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/Coro.pm
(Generate patch)

Comparing Coro/Coro.pm (file contents):
Revision 1.330 by root, Wed Feb 11 19:30:15 2015 UTC vs.
Revision 1.331 by root, Thu Jun 4 22:58:28 2015 UTC

366 366
367our $idle; # idle handler 367our $idle; # idle handler
368our $main; # main coro 368our $main; # main coro
369our $current; # current coro 369our $current; # current coro
370 370
371our $VERSION = 6.42; 371our $VERSION = 6.43;
372 372
373our @EXPORT = qw(async async_pool cede schedule terminate current unblock_sub rouse_cb rouse_wait); 373our @EXPORT = qw(async async_pool cede schedule terminate current unblock_sub rouse_cb rouse_wait);
374our %EXPORT_TAGS = ( 374our %EXPORT_TAGS = (
375 prio => [qw(PRIO_MAX PRIO_HIGH PRIO_NORMAL PRIO_LOW PRIO_IDLE PRIO_MIN)], 375 prio => [qw(PRIO_MAX PRIO_HIGH PRIO_NORMAL PRIO_LOW PRIO_IDLE PRIO_MIN)],
376); 376);
1021otherwise you might suffer from crashes or worse. The only event library 1021otherwise you might suffer from crashes or worse. The only event library
1022currently known that is safe to use without C<unblock_sub> is L<EV> (but 1022currently known that is safe to use without C<unblock_sub> is L<EV> (but
1023you might still run into deadlocks if all event loops are blocked). 1023you might still run into deadlocks if all event loops are blocked).
1024 1024
1025Coro will try to catch you when you block in the event loop 1025Coro will try to catch you when you block in the event loop
1026("FATAL:$Coro::idle blocked itself"), but this is just best effort and 1026("FATAL: $Coro::idle blocked itself"), but this is just best effort and
1027only works when you do not run your own event loop. 1027only works when you do not run your own event loop.
1028 1028
1029This function allows your callbacks to block by executing them in another 1029This function allows your callbacks to block by executing them in another
1030coro where it is safe to block. One example where blocking is handy 1030coro where it is safe to block. One example where blocking is handy
1031is when you use the L<Coro::AIO|Coro::AIO> functions to save results to 1031is when you use the L<Coro::AIO|Coro::AIO> functions to save results to

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines