This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
amigaos4: execvp() and popen() enhancements
authorAndy Broad <andy@broad.ology.org.uk>
Sat, 5 Mar 2016 18:18:08 +0000 (13:18 -0500)
committerJarkko Hietaniemi <jhi@iki.fi>
Sat, 5 Mar 2016 18:20:46 +0000 (13:20 -0500)
commitb80d877540658f2420223d8dca4483b085983376
tree26e8468b4b1fc781162bf65d688e0834872eaa64
parent710740a6ed7f31a3bcc5f991f3cb7b55fed8a68e
amigaos4: execvp() and popen() enhancements

myexecvp()
Replaces alloca() in execvp() with IExec->AllocVecTags() with the memory
type explicitly set to MEMF_SHARED (alloca allocating on the stack which is
MEMF_PRIVATE and in theory at least you can't share that with the sub
process (in practice this isn't enforced yet, too much old software would
break, but one of these days)).

amigaos_popen()
Alters file opening order to ensure that the write end of the pipe is always
opened first.

Now attempts to pass Input() out Output() (stdin or stout) to the non-pipe
file handles rather than NIL: reverting to NIL: if the above can't be
DupFileHandled() (say if they were redirected to a file opened with an
exclusive lock).
amigaos4/amigaos.c