Home / VMS_Python
Name Modified Size InfoDownloads / Week
Parent folder
readme.txt 2016-02-03 2.1 kB
subprocess.zip 2015-12-24 35.5 kB
Totals: 2 Items   37.6 kB 0
December 2015

subprocess.py

This is a revised implementation of the Python subprocess module which
supports OpenVMS as well as Windows and Posix compliant Unix/Linux environments.

This module replaces the "standard" subprocess.py module.

The module was developed and has been tested with the WAF based build
environment of Samba 4.3.1 on OpenVMS running under GNV.

In comparison to a prior OpenVMS implementation of subprocess this version does 
not require editing of script files to adjust quoting.  The implementation uses
a shell script to submit commands to bash and or sh. These are temporary files
and are automatically deleted after their use.

The comments in the file explain more.

This implementation relies upon some C helper files.  These are built into
a shared image which is then referenced and used by the subprocess.py module.

The C code implements the necessary code to properly vfork()/execv*() from
Python on OpenVMS as well as to support a select() function and other buffer
checking code to provide for non-blocking IO.

To install, unzip the kit, set your default to this directory containing the 
contents of the zip file and execute these commands:

$COPY SUBPROCESS.PY PYTHON_ROOT:[LIB]
@BUILD

This will build the shareable image to support the Python SUBPROCESS module on
OpenVMS and copy the resultant executable to PYTHON_ROOT:[VMS.LIB]

The contents of the zip file are:

Archive:  subprocess.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
      374  12-23-2015 17:56   subprocess/build.com
     2126  12-24-2015 13:07   subprocess/readme.txt
    96648  12-23-2015 17:52   subprocess/subprocess.py
    29718  12-21-2015 07:24   subprocess/vms_poll_select_hack.c
     3286  11-28-2015 12:44   subprocess/vms_vfork.c
      198  11-28-2015 15:32   subprocess/VMS_VFORK_XFR.OPT
---------                     -------
   132350                     6 files

This code is provided AS IS.

Comments and improvements should be sent to:

Bill Pedersen
CCSS, LLC.
pedersen@ccsscorp.com

Source: readme.txt, updated 2016-02-03