… | |
… | |
19 | cede; |
19 | cede; |
20 | |
20 | |
21 | =head1 DESCRIPTION |
21 | =head1 DESCRIPTION |
22 | |
22 | |
23 | This module collection manages coroutines. Coroutines are similar to |
23 | This module collection manages coroutines. Coroutines are similar to |
24 | Threads but don't run in parallel. |
24 | threads but don't run in parallel. |
25 | |
|
|
26 | This module is still experimental, see the BUGS section below. |
|
|
27 | |
25 | |
28 | In this module, coroutines are defined as "callchain + lexical variables |
26 | In this module, coroutines are defined as "callchain + lexical variables |
29 | + @_ + $_ + $@ + $^W + C stack), that is, a coroutine has it's own |
27 | + @_ + $_ + $@ + $^W + C stack), that is, a coroutine has it's own |
30 | callchain, it's own set of lexicals and it's own set of perl's most |
28 | callchain, it's own set of lexicals and it's own set of perl's most |
31 | important global variables. |
29 | important global variables. |
… | |
… | |
325 | |
323 | |
326 | =head1 BUGS/LIMITATIONS |
324 | =head1 BUGS/LIMITATIONS |
327 | |
325 | |
328 | - you must make very sure that no coro is still active on global destruction. |
326 | - you must make very sure that no coro is still active on global destruction. |
329 | very bad things might happen otherwise (usually segfaults). |
327 | very bad things might happen otherwise (usually segfaults). |
330 | - this module is not thread-safe. You must only ever use this module from |
328 | - this module is not thread-safe. You should only ever use this module from |
331 | the same thread (this requirement might be loosened in the future to |
329 | the same thread (this requirement might be loosened in the future to |
332 | allow per-thread schedulers, but Coro::State does not yet allow this). |
330 | allow per-thread schedulers, but Coro::State does not yet allow this). |
333 | |
331 | |
334 | =head1 SEE ALSO |
332 | =head1 SEE ALSO |
335 | |
333 | |