http://qs321.pair.com?node_id=656263


in reply to Re^4: HPUX corruption of file handle after fork
in thread HPUX corruption of file handle after fork

There are lots of issues at hand.

At the Un*x/POSIX level exit() does lots of cleaning. To be on the safe side it is usually better to _exit() in the child. IO buffering can get in the way as exit() will usually flush the streams before closing them.

perl will usually show its un*x heritage (except in some places and/or platforms in recent years where it was considered better to "fix" that un*x behaviour). Recently while translating C code for a system(3) with time-out I needed low-level IO and POSIX::_exit() to be close to the old behaviour.

Even at the perl level don't forget that exit() does call END blocks ...

5.8.0 was very buggy, so it would be better to use another version. cheers hth --stephan