--- Coro/Coro/State.xs 2007/12/03 00:41:45 1.218 +++ Coro/Coro/State.xs 2007/12/04 19:33:45 1.219 @@ -1396,6 +1396,7 @@ PUSHMARK (SP); PUTBACK; call_sv (get_sv ("Coro::idle", FALSE), G_DISCARD); + SPAGAIN; FREETMPS; LEAVE; @@ -1605,6 +1606,7 @@ { struct transfer_args ta; + PUTBACK; switch (ix) { case 0: @@ -1633,6 +1635,7 @@ break; } + SPAGAIN; BARRIER; PUTBACK; @@ -1700,6 +1703,7 @@ if (!(coro->flags & CF_RUNNING)) { + PUTBACK; save_perl (aTHX_ &temp); load_perl (aTHX_ coro); } @@ -1728,6 +1732,7 @@ { save_perl (aTHX_ coro); load_perl (aTHX_ &temp); + SPAGAIN; } } }