At 12:36 AM -0500 10/25/07, John E. Malmberg wrote: >ipc::open3 does not work on OpenVMS because it claims that it needs fork().
The patch seems to me the right thing to do for 5.10. >As far as I know, win32 does not have a fork either, so finding out why open3 >is not using a similar implementation should be put on a VMS todo list. It's sort of half done. Win32 overloads the first argument to C<system>. If that argument is numeric, it uses it as the flags argument to the native spawn call. A value of 1 means spawn without waiting for completion. I couldn't find this documented anywhere, but it's pretty clear what's going on in win32.c, and this is what IPC::Open3 uses on Win32. It was relatively straightforward to make the VMS version of Perl_do_aspawn support the same feature. I've now committed that as #32193. The hard part is getting the various filehandles hooked up to the child process appropriately. There is a lot of twisty filehandle manipulation going on in Open3; I don't really understand what it's trying to do, and simply adding 'VMS' to the Win32-specific code paths did not work -- there were still lots of test failures. So for future work we'll have to dig into this and figure out what the expectations are and whether and how we can meet them. -- ________________________________________ Craig A. Berry mailto:[EMAIL PROTECTED] "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser