… | |
… | |
187 | |
187 | |
188 | Create a new asynchronous coroutine and return it's coroutine object |
188 | Create a new asynchronous coroutine and return it's coroutine object |
189 | (usually unused). When the sub returns the new coroutine is automatically |
189 | (usually unused). When the sub returns the new coroutine is automatically |
190 | terminated. |
190 | terminated. |
191 | |
191 | |
|
|
192 | See the C<Coro::State::new> constructor for info about the coroutine |
|
|
193 | environment. |
|
|
194 | |
192 | Calling C<exit> in a coroutine will do the same as calling exit outside |
195 | Calling C<exit> in a coroutine will do the same as calling exit outside |
193 | the coroutine. Likewise, when the coroutine dies, the program will exit, |
196 | the coroutine. Likewise, when the coroutine dies, the program will exit, |
194 | just as it would in the main program. |
197 | just as it would in the main program. |
195 | |
198 | |
196 | # create a new coroutine that just prints its arguments |
199 | # create a new coroutine that just prints its arguments |
… | |
… | |
344 | Create a new coroutine and return it. When the sub returns the coroutine |
347 | Create a new coroutine and return it. When the sub returns the coroutine |
345 | automatically terminates as if C<terminate> with the returned values were |
348 | automatically terminates as if C<terminate> with the returned values were |
346 | called. To make the coroutine run you must first put it into the ready queue |
349 | called. To make the coroutine run you must first put it into the ready queue |
347 | by calling the ready method. |
350 | by calling the ready method. |
348 | |
351 | |
349 | See C<async> for additional discussion. |
352 | See C<async> and C<Coro::State::new> for additional info about the |
|
|
353 | coroutine environment. |
350 | |
354 | |
351 | =cut |
355 | =cut |
352 | |
356 | |
353 | sub _run_coro { |
357 | sub _run_coro { |
354 | terminate &{+shift}; |
358 | terminate &{+shift}; |