… | |
… | |
768 | |
768 | |
769 | arg = HeVAL(he); |
769 | arg = HeVAL(he); |
770 | } |
770 | } |
771 | |
771 | |
772 | /* must also be changed inside Coro::Cont::yield */ |
772 | /* must also be changed inside Coro::Cont::yield */ |
|
|
773 | if (SvROK(arg) && SvOBJECT(SvRV(arg)) |
773 | if (SvROK(arg) && SvSTASH(SvRV(arg)) == coro_state_stash) |
774 | && SvSTASH(SvRV(arg)) == coro_state_stash) |
774 | return (struct coro *) SvIV((SV*)SvRV(arg)); |
775 | return (struct coro *) SvIV((SV*)SvRV(arg)); |
775 | |
776 | |
776 | croak ("%s() -- %s is not (and contains not) a Coro::State object", funcname, varname); |
777 | croak ("%s() -- %s is not (and contains not) a Coro::State object", funcname, varname); |
777 | /*NORETURN*/ |
778 | /*NORETURN*/ |
778 | } |
779 | } |