… | |
… | |
957 | coro = SvSTATE (coro_sv); |
957 | coro = SvSTATE (coro_sv); |
958 | |
958 | |
959 | if (coro->flags & CF_READY) |
959 | if (coro->flags & CF_READY) |
960 | return 0; |
960 | return 0; |
961 | |
961 | |
962 | #if 0 /* this is actually harmless */ |
|
|
963 | if (coro->flags & CF_RUNNING) |
|
|
964 | croak ("Coro::ready called on currently running coroutine"); |
|
|
965 | #endif |
|
|
966 | |
|
|
967 | coro->flags |= CF_READY; |
962 | coro->flags |= CF_READY; |
968 | |
963 | |
969 | LOCK; |
964 | LOCK; |
970 | coro_enq (SvREFCNT_inc (coro_sv)); |
965 | coro_enq (SvREFCNT_inc (coro_sv)); |
971 | UNLOCK; |
966 | UNLOCK; |