in reply to IPC::Open3::Simple closes database connection on error.
If POSIX can be loaded, then _exit is used on exec failure.
exec @cmd or do { carp "$Me: exec of @cmd failed"; eval { require POSIX; POSIX::_exit(255); }; exit 255; };
Using _exit should avoid the problem because _exit doesn't allow destructors to be run.
>perl -MPOSIX -le"DESTROY{print q{foo}}$o=bless{};$ARGV[0]?_exit 1:exi +t 1" 1 >perl -MPOSIX -le"DESTROY{print q{foo}}$o=bless{};$ARGV[0]?_exit 1:exi +t 1" 0 foo
Could there be a problem loading POSIX?
|
|---|