Brad King 312ca9670f ENH: Teach KWSys Process basic VMS support
This achieves basic process execution on OpenVMS.  We use work-arounds
for different fork()/exec() behavior and a lack of select().

VMS emulates fork/exec using setjmp/longjmp to evaluate the child and
parent return cases from fork.  Therefore both must be invoked from the
same function.

Since select() works only for sockets we use the BeOS-style polling
implementation.  However, non-blocking reads on empty pipes cannot be
distinguished easily from the last read on a closed pipe.  Therefore we
identify end of data by an empty read after the child terminates.
2009-06-10 11:48:34 -04:00
..
2008-11-23 22:07:32 -05:00
2009-03-17 10:48:24 -04:00
2009-06-10 00:01:34 -04:00
2009-06-05 13:17:01 -04:00

KWSys provides a platform-independent API to many common system
features that are implemented differently on every platform.  This
library is intended to be shared among many projects, so it has a
configurable namespace.  Each project should configure KWSys to use a
namespace unique to itself.  See comments in CMakeLists.txt for
details.

You are probably reading this file in the source tree of a surrounding
project.  In that case, see "../README.kwsys" for details of using
KWSys in your project.