Re-write the fork handling code in parallel.py and
logging_manager.py so that in the child process we can be absolutely
certain that no matter what ends up happening, the child process will
never travel back up the call stack past the local function which
is forking.

As things are currently written exceptions being thrown at bad times
can lead to the os._exit call being bypassed. We need to use
try-except and try-finally appropriately to make this impossible.

Risk: Low
Visibility: fork() calls should no longer have edge cases where the
child fails to os._exit properly.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3288 592f7852-d20e-0410-864c-8624ca9c26a4
2 files changed