--- Coro/Coro.pm 2008/05/09 22:04:37 1.181 +++ Coro/Coro.pm 2008/05/31 12:10:55 1.191 @@ -37,8 +37,9 @@ Unlike a normal perl program, however, coroutines allow you to have multiple running interpreters that share data, which is especially useful -to code pseudo-parallel processes, such as multiple HTTP-GET requests -running concurrently. +to code pseudo-parallel processes and for event-based programming, such as +multiple HTTP-GET requests running concurrently. See L to +learn more. Coroutines are also useful because Perl has no support for threads (the so called "threads" that perl offers are nothing more than the (bad) process @@ -67,7 +68,7 @@ our $main; # main coroutine our $current; # current coroutine -our $VERSION = 4.6; +our $VERSION = 4.742; our @EXPORT = qw(async async_pool cede schedule terminate current unblock_sub); our %EXPORT_TAGS = ( @@ -613,6 +614,12 @@ another coroutine, or puts some other coroutine into the ready queue), there is no reason to use C. +Note that you also need to use C for any other callbacks that +are indirectly executed by any C-based event loop. For example, when you +use a module that uses L (and you use L) and it +provides callbacks that are the result of some event callback, then you +must not block either, or use C. + =cut our @unblock_queue;