[parrot/parrot] 60619b: [pmc] Clarify dead coroutines
GitHub
noreply at github.com
Mon Oct 13 21:05:46 UTC 2014
Branch: refs/heads/rurban/coros-gh564
Home: https://github.com/parrot/parrot
Commit: 60619b7a549b62bb0578e5e38f729fb6ea792500
https://github.com/parrot/parrot/commit/60619b7a549b62bb0578e5e38f729fb6ea792500
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-13 (Mon, 13 Oct 2014)
Changed paths:
M docs/book/pir/ch06_subroutines.pod
M docs/pmc/subs.pod
M src/pmc/coroutine.pmc
M t/pmc/coroutine.t
Log Message:
-----------
[pmc] Clarify dead coroutines
Coros are not resumable when all yield states are exhausted.
This is consistent with the LUA design, which we follow, and all other
coro implementations I know of. Just the parrot book argues that after a
return the state should be automatically reset. Technically no problem, even
without the quirks described in https://github.com/parrot/parrot/issues/564#issuecomment-3503597
or via a seperate reset() method, but semantically an auto-reset is problematic.
Added testcases for all the relevant tickets: #564, #585 and there is on
bug remaining: TT #1003 leading to Null PMC access in get_string on a dead coro
Commit: 57247d60fe05568dcc7009cec95b62ab0cb5be9d
https://github.com/parrot/parrot/commit/57247d60fe05568dcc7009cec95b62ab0cb5be9d
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-13 (Mon, 13 Oct 2014)
Changed paths:
M config/gen/makefiles/root.in
M src/ops/core.ops
M src/ops/core_ops.c
M src/pmc/coroutine.pmc
M src/sub.c
Log Message:
-----------
[pmc] Coroutine is now auto-resetting
Compare: https://github.com/parrot/parrot/compare/60619b7a549b^...57247d60fe05
More information about the parrot-commits
mailing list