Subject: | use of exit causes crashes in threaded code (MsWin32) |
POE::Component::SimpleDBI::SubProcess calls exit in two locations. This
works fine on operating systems where we have an actual subprocess.
Unfortunately on MsWin32 platforms POE::Component::SimpleDBI::SubProcess
is actually a thread (perl fork emulation).
According to the threads documentation..
"Calling exit() inside a thread causes the whole application to
terminate. Because of this, the use of exit() inside threaded code, or
in modules that might be used in threaded applications, is strongly
discouraged."
Simply replacing both exit calls with a "return" is sufficient to fix
the issue.