waitfinish() assumes that if the forked child process exited with exitstatus
== 0, that _child() ran to completion and wrote out the retval. This is not true
if the function run in the child process hard exited with status 0,
e.g. os._exit(0) (or even sys.exit(0)).
waitfinish() assumes that if the forked child process exited with exitstatus == 0, that _child() ran to completion and wrote out the retval. This is not true if the function run in the child process hard exited with status 0, e.g. os._exit(0) (or even sys.exit(0)).
Add new unit test test_exit0() for this case.
Fixes #261