List of all members.
Detailed Description
Proxy class to use in place of Popen.stdin - it makes sure than after stdin.close(), .wait() is called on the subprocess.
When Python exits, it apparently terminates still running subprocesses (maybe SGE does it - I only observed the issue in
batch execution. In particular, when we call .close() on a pipe to gzip subprocess writer, it takes some time for gzip
to finish writing. It our application exits immediately, gzip is killed leaving unfinished output file.
This proxy class holds a reference to the Popen instance and delegates all attribute lookups to Popen's stdin file object,
except for the .close() method, in which it first closes the stream, and then waits for the child process to finish.
This is not ideal solution because Popen.stdin is a real built-in file object, and this proxy class is not. Thus, some
code that e.g. uses Python C Api can choke on it. Another alternative would be to keep a global list of all Popen
objects and wait on them in atexit() handler.
The documentation for this class was generated from the following file: