--- cvsroot/Coro/README 2007/04/16 13:26:43 1.7 +++ cvsroot/Coro/README 2007/04/19 10:37:26 1.8 @@ -19,7 +19,7 @@ DESCRIPTION This module collection manages coroutines. Coroutines are similar to threads but don't run in parallel at the same time even on SMP machines. - The specific flavor of coroutine use din this module also guarentees you + The specific flavor of coroutine used in this module also guarantees you that it will not switch between coroutines unless necessary, at easily-identified points in your program, so locking and parallel access are rarely an issue, making coroutine programming much safer than @@ -43,7 +43,7 @@ value is $main (of course). This variable is strictly *read-only*. It is provided for - performance reasons. If performance is not essentiel you are + performance reasons. If performance is not essential you are encouraged to use the "Coro::current" function instead. $idle @@ -120,7 +120,7 @@ undef $current; }; - # call schedule until event occured. + # call schedule until event occurred. # in case we are woken up for other reasons # (current still defined), loop. Coro::schedule while $current; @@ -214,7 +214,7 @@ GLOBAL FUNCTIONS Coro::nready Returns the number of coroutines that are currently in the ready - state, i.e. that can be swicthed to. The value 0 means that the only + state, i.e. that can be switched to. The value 0 means that the only runnable coroutine is the currently running one, so "cede" would have no effect, and "schedule" would cause a deadlock unless there is an idle handler that wakes up some coroutines. @@ -245,7 +245,7 @@ original code ref will be called (with parameters) from within its own coroutine. - The reason this fucntion exists is that many event libraries (such + The reason this function exists is that many event libraries (such as the venerable Event module) are not coroutine-safe (a weaker form of thread-safety). This means you must not block within event callbacks, otherwise you might suffer from crashes or worse. @@ -263,7 +263,7 @@ destruction. very bad things might happen otherwise (usually segfaults). - this module is not thread-safe. You should only ever use this module - from the same thread (this requirement might be losened in the future + from the same thread (this requirement might be loosened in the future to allow per-thread schedulers, but Coro::State does not yet allow this).