… | |
… | |
441 | inside the coroutine at the next convenient point in time. Otherwise |
441 | inside the coroutine at the next convenient point in time. Otherwise |
442 | clears the exception object. |
442 | clears the exception object. |
443 | |
443 | |
444 | Coro will check for the exception each time a schedule-like-function |
444 | Coro will check for the exception each time a schedule-like-function |
445 | returns, i.e. after each C<schedule>, C<cede>, C<< Coro::Semaphore->down |
445 | returns, i.e. after each C<schedule>, C<cede>, C<< Coro::Semaphore->down |
446 | >>, C<< Coro::Handle->readable >> and so on. Note that this means that |
446 | >>, C<< Coro::Handle->readable >> and so on. Most of these functions |
447 | when a coroutine is acquiring a lock, it might only throw after it has |
447 | detect this case and return early in case an exception is pending. |
448 | sucessfully acquired it. |
|
|
449 | |
448 | |
450 | The exception object will be thrown "as is" with the specified scalar in |
449 | The exception object will be thrown "as is" with the specified scalar in |
451 | C<$@>, i.e. if it is a string, no line number or newline will be appended |
450 | C<$@>, i.e. if it is a string, no line number or newline will be appended |
452 | (unlike with C<die>). |
451 | (unlike with C<die>). |
453 | |
452 | |