Gregory P. Smith
a0c9caad66
Fix issue #6973 : When we know a subprocess.Popen process has died, do
...
not allow the send_signal(), terminate(), or kill() methods to do
anything as they could potentially signal a different process.
2015-11-15 18:19:10 -08:00
Gregory P. Smith
6e73000723
Add a subprocess.run() function than returns a CalledProcess instance for a
...
more consistent API than the existing call* functions.
(enhancement from issue 23342)
2015-04-14 16:14:25 -07:00
Gregory P. Smith
cb6fdf2c63
issue10838: Rename the subprocess.mswindows internal global to _mswindows.
...
It is internal only, not a documented API.
2015-04-07 16:11:33 -07:00
Gregory P. Smith
ace55865c5
Addresses Issue #10838 : The subprocess now module includes
...
SubprocessError and TimeoutError in its list of exported names for the
users wild enough to use "from subprocess import *".
MAXFD, mswindows and list2cmdline should be dealt with (renamed or
moved) in separate commits.
Committed at 35,000ft. Thanks chromebook free gogo wifi passes!
2015-04-07 15:57:54 -07:00
Serhiy Storchaka
86ba765705
Issue #21619 : Popen objects no longer leave a zombie after exit in the with
...
statement if the pipe was broken. Patch by Martin Panter.
2015-02-28 12:45:00 +02:00
Serhiy Storchaka
ab900c21fc
Issue #21619 : Popen objects no longer leave a zombie after exit in the with
...
statement if the pipe was broken. Patch by Martin Panter.
2015-02-28 12:43:08 +02:00
Charles-François Natali
6e6c59b508
Issue #23285 : PEP 475 -- Retry system calls failing with EINTR.
2015-02-07 13:27:50 +00:00
Victor Stinner
a5e881d2e8
Closes #23234 : Refactor subprocess
...
Use new OSError exceptions, factorize stdin.write() code.
2015-01-14 17:07:59 +01:00
Antoine Pitrou
6e311aa748
Issue #21332 : Ensure that ``bufsize=1`` in subprocess.Popen() selects line buffering, rather than block buffering.
2014-09-21 21:15:42 +02:00
Antoine Pitrou
afe8d0646c
Issue #21332 : Ensure that ``bufsize=1`` in subprocess.Popen() selects line buffering, rather than block buffering.
2014-09-21 21:10:56 +02:00
Victor Stinner
ae58649721
Issue #22043 : time.monotonic() is now always available
...
threading.Lock.acquire(), threading.RLock.acquire() and socket operations now
use a monotonic clock, instead of the system clock, when a timeout is used.
2014-09-02 23:18:25 +02:00
Serhiy Storchaka
465e60e654
Issue #22033 : Reprs of most Python implemened classes now contain actual
...
class name instead of hardcoded one.
2014-07-25 23:36:00 +03:00
Gregory P. Smith
7be74cffbe
Remove the obsolete MAXFD constant and Popen._close_fds() method.
...
They should have been removed years ago when removing the old pure
Python implementation from the file.
2014-06-01 00:33:35 -07:00
Gregory P. Smith
b218863012
subprocess's Popen.wait() is now thread safe so that multiple threads
...
may be calling wait() or poll() on a Popen instance at the same time
without losing the Popen.returncode value. Fixes issue #21291 .
2014-04-23 00:38:22 -07:00
Gregory P. Smith
d65ba51e24
subprocess's Popen.wait() is now thread safe so that multiple threads
...
may be calling wait() or poll() on a Popen instance at the same time
without losing the Popen.returncode value. Fixes issue #21291 .
2014-04-23 00:27:17 -07:00
Andrew Kuchling
4f7b0c3c35
#10481 : describe universal_newlines' effect on communicate()/check_output() output (alternately bytes or strings)
...
Patch by Sam Kimbrel.
2014-04-14 15:08:18 -04:00
Victor Stinner
7fa767e517
Issue #20976 : pyflakes: Remove unused imports
2014-03-20 09:16:38 +01:00
Benjamin Peterson
605765fa32
merge 3.3 ( #19060 )
2014-03-12 21:42:04 -05:00
Benjamin Peterson
5eea8a7780
remove unnecessary word ( closes #19060 )
...
Patch by Anastasia Filatova.
2014-03-12 21:41:35 -05:00
Victor Stinner
5f47ac2aaa
(Merge 3.3) Issue #19612 : On Windows, subprocess.Popen.communicate() now
...
ignores OSError(22, 'Invalid argument') when writing input data into stdin,
whereas the process already exited.
2014-02-18 22:06:35 +01:00
Victor Stinner
d5c8ce7cc0
Issue #19612 : On Windows, subprocess.Popen.communicate() now ignores
...
OSError(22, 'Invalid argument') when writing input data into stdin, whereas
the process already exited.
2014-02-18 22:00:53 +01:00
Serhiy Storchaka
580e007860
issue12085: Use more Pythonic way to check _child_created.
...
_active shouldn't be cached, it set to None on shutdown.
2014-02-10 19:21:25 +02:00
Serhiy Storchaka
72e7761301
issue12085: Use more Pythonic way to check _child_created.
...
_active shouldn't be cached, it set to None on shutdown.
2014-02-10 19:20:22 +02:00
Gregory P. Smith
7b83b18679
Fixes issue #19929 : Call os.read with 32768 within subprocess.Popen
...
communicate rather than 4096 for efficiency. A microbenchmark shows
Linux and OS X both using ~50% less cpu time this way.
2013-12-08 10:58:28 -08:00
Gregory P. Smith
589ecda56e
Fixes issue #19929 : Call os.read with 32768 within subprocess.Popen
...
communicate rather than 4096 for efficiency. A microbenchmark shows
Linux and OS X both using ~50% less cpu time this way.
2013-12-08 10:56:07 -08:00
Gregory P. Smith
5ca129b8f0
Fixes issue #19506 : Use a memoryview to avoid a data copy when piping data
...
to stdin within subprocess.Popen.communicate. 5-10% less cpu usage.
2013-12-07 19:14:59 -08:00
Gregory P. Smith
774f909489
Fixes issue #19506 : Use a memoryview to avoid a data copy when piping data
...
to stdin within subprocess.Popen.communicate. 5-10% less cpu usage.
2013-12-07 19:12:46 -08:00
Gregory P. Smith
53dd8167ff
Fixes issue #15798 : subprocess.Popen() no longer fails if file
...
descriptor 0, 1 or 2 is closed. (correct fix for 3.4 this time)
2013-12-01 16:03:24 -08:00
Gregory P. Smith
54532c9742
Undo supposed fix for Issue #15798 until I understand why this is
...
causing test_multiprocessing_forkserver and test_multiprocessing_spawn
failures on head (3.4).
2013-12-01 00:13:35 -08:00
Gregory P. Smith
361e30c17a
Undo supposed fix for Issue #15798 until I understand why this is
...
causing test_multiprocessing_forkserver and test_multiprocessing_spawn
failures on head (3.4).
2013-12-01 00:12:24 -08:00
Gregory P. Smith
1c27e3c7fb
Fixes Issue #15798 - subprocess.Popen() no longer fails if file
...
descriptor 0, 1 or 2 is closed.
2013-11-30 19:04:00 -08:00
Gregory P. Smith
1eda9e7c30
Fixes Issue #15798 - subprocess.Popen() no longer fails if file
...
descriptor 0, 1 or 2 is closed.
2013-11-30 19:02:57 -08:00
Tim Golden
acea823fd8
Remove outdated comment
2013-11-11 15:08:04 +00:00
Tim Golden
fc0cad8b04
Remove outdated comment
2013-11-11 15:08:40 +00:00
Charles-François Natali
3a4586a9f9
Issue #18923 : Update subprocess to use the new selectors module.
2013-11-08 19:56:59 +01:00
Tim Golden
607981402c
Issue #10197 Tweak docs for subprocess.getstatusoutput and align the documentation, the module docstring, and the function docstring.
2013-11-05 12:57:25 +00:00
Tim Golden
ab7211f278
Issue #10197 Rework subprocess.get[status]output to use subprocess functionality and thus to work on Windows. Patch by Nick Coghlan.
2013-11-03 12:55:51 +00:00
Tim Golden
e004175c56
Issue #10197 Rework subprocess.get[status]output to use subprocess functionality and thus to work on Windows. Patch by Nick Coghlan.
2013-11-03 12:53:17 +00:00
Nick Coghlan
ac1a248968
Close #19284 : Handle -R properly in flag helper
...
Previously, the -R option would be specified multiple times
if PYTHONHASHSEED was set.
2013-10-18 22:39:50 +10:00
Victor Stinner
daf455554b
Issue #18571 : Implementation of the PEP 446: file descriptors and file handles
...
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
2013-08-28 00:53:59 +02:00
Ezio Melotti
9a3777e525
#18705 : merge with 3.3.
2013-08-17 15:53:55 +03:00
Ezio Melotti
30b9d5d3af
#18705 : fix a number of typos. Patch by Févry Thibault.
2013-08-17 15:50:46 +03:00
Ronald Oussoren
5f8e78545c
(3.3->default) Cleanup of documentation change from #17860
...
Reformulated the textual change, and applied it to the docstring as well.
2013-07-07 09:28:01 +02:00
Ronald Oussoren
385521c90e
Cleanup of documentation change from #17860
...
Reformulated the textual change, and applied it to the docstring as well.
2013-07-07 09:26:45 +02:00
Brett Cannon
cd171c8e92
Issue #18200 : Back out usage of ModuleNotFoundError (8d28d44f3a9a)
2013-07-04 17:43:24 -04:00
Gregory P. Smith
22ba31a3af
Prevent a possible double close of parent pipe fds when the subprocess
...
exec runs into an error. Prevent a regular multi-close of the /dev/null
fd when any of stdin, stdout and stderr was set to DEVNULL.
2013-06-15 18:14:56 -07:00
Gregory P. Smith
b5461b9884
Prevent a possible double close of parent pipe fds when the subprocess
...
exec runs into an error. Prevent a regular multi-close of the /dev/null
fd when any of stdin, stdout and stderr was set to DEVNULL.
2013-06-15 18:04:26 -07:00
Brett Cannon
0a140668fa
Issue #18200 : Update the stdlib (except tests) to use
...
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Serhiy Storchaka
fcd9f22238
Issue #16624 : `subprocess.check_output` now accepts an `input` argument,
...
allowing the subprocess's stdin to be provided as a (byte) string.
Patch by Zack Weinberg.
2013-04-22 20:20:54 +03:00
Gregory P. Smith
4a8ea9e2a6
Fixes issue #17488 : Change the subprocess.Popen bufsize parameter default value
...
from unbuffered (0) to buffering (-1) to match the behavior existing code
expects and match the behavior of the subprocess module in Python 2 to avoid
introducing hard to track down bugs.
2013-03-23 12:00:00 -07:00
Gregory P. Smith
a1b9ed32ee
Fixes issue #17488 : Change the subprocess.Popen bufsize parameter default value
...
from unbuffered (0) to buffering (-1) to match the behavior existing code
expects and match the behavior of the subprocess module in Python 2 to avoid
introducing hard to track down bugs.
2013-03-23 11:54:22 -07:00
Gregory P. Smith
a1ed539268
Fixes issue #17488 : Change the subprocess.Popen bufsize parameter default value
...
from unbuffered (0) to buffering (-1) to match the behavior existing code
expects and match the behavior of the subprocess module in Python 2 to avoid
introducing hard to track down bugs.
2013-03-23 11:44:25 -07:00
Gregory P. Smith
e25df59427
merge
2013-03-20 18:32:45 -07:00
Gregory P. Smith
74b24047e3
merge
2013-03-20 18:32:22 -07:00
Gregory P. Smith
1f8a40b81d
remove the long obsolete mention of universal newlines mode only being
...
available when configured at compile time.
2013-03-20 18:32:03 -07:00
Gregory P. Smith
016b9e38f7
Use a larger amount of data for tests such as the interrupted_write
...
tests that depend on filling up an OS pipe so that they work properly
on systems configured with large pipe buffers.
Also a subprocess docstring update that i forgot was in my client when
i did the original 3.3 commit... easier to just leave that in here
with this one than go back and undo/redo.
2013-03-19 23:27:09 -07:00
Gregory P. Smith
91110f5e55
Use a larger amount of data for tests such as the interrupted_write
...
tests that depend on filling up an OS pipe so that they work properly
on systems configured with large pipe buffers.
2013-03-19 23:25:16 -07:00
Serhiy Storchaka
b3f194d109
Issue #16903 : Popen.communicate() on Unix now accepts strings when
...
universal_newlines is true as on Windows.
2013-02-04 16:47:39 +02:00
Andrew Svetlov
f7a17b48d7
Replace IOError with OSError ( #16715 )
2012-12-25 16:47:37 +02:00
Andrew Svetlov
1d960fe4c4
Keep ref to ECHILD in local scope ( #16650 )
2012-12-24 20:08:53 +02:00
Andrew Svetlov
5b187ce700
Keep ref to ECHILD in local scope ( #16650 )
2012-12-24 20:06:52 +02:00
Andrew Svetlov
08bab07291
Keep ref to ECHILD in local scope ( #16650 )
2012-12-24 20:06:35 +02:00
Brian Curtin
445ad997ab
Fix #14470 . Remove w9xpopen per PEP 11.
...
As stated in PEP 11, 3.4 removes code on Windows platforms where
COMSPEC points to command.com. The w9xpopen project in Visual Studio
was added to support that case, and there was a special case in subprocess
to cover that situation. This change removes the w9xpopen project from
the Visual Studio solution and removes any references to the w9xpopen
executable.
2012-12-23 16:53:21 -06:00
Andrew Svetlov
ad28c7f9da
Issue #16706 : get rid of os.error
2012-12-18 22:02:39 +02:00
Andrew Svetlov
3438fa496d
Get rig of EnvironmentError ( #16705 )
2012-12-17 23:35:18 +02:00
Andrew Svetlov
6d8a122b9c
Issue #16704 : Get rid of select.error in stdlib. Use OSError instead.
2012-12-17 22:23:46 +02:00
Andrew Svetlov
df485ca493
Remove obsolete code: now IOError and WindowsError are aliases for OSError
2012-12-17 16:15:35 +02:00
Gregory P. Smith
c2c4cb624b
Fixes issue #16140 : The subprocess module no longer double closes its
...
child subprocess.PIPE parent file descriptors on child error prior to
exec().
This would lead to race conditions in multithreaded programs where
another thread opened a file reusing the fd which was then closed out
from beneath it by the errant second close.
2012-11-11 01:41:49 -08:00
Gregory P. Smith
c8ac03d936
Fixes issue #16140 : The subprocess module no longer double closes its
...
child subprocess.PIPE parent file descriptors on child error prior to
exec().
This would lead to race conditions in multithreaded programs where
another thread opened a file reusing the fd which was then closed out
from beneath it by the errant second close.
2012-11-11 01:38:18 -08:00
Gregory P. Smith
12489d98e6
Fixes issue #16140 : The subprocess module no longer double closes its
...
child subprocess.PIPE parent file descriptors on child error prior to
exec().
This would lead to race conditions in multithreaded programs where
another thread opened a file reusing the fd which was then closed out
from beneath it by the errant second close.
2012-11-11 01:37:02 -08:00
Gregory P. Smith
d4b645ef42
Remove the subprocess "bad exception data" warning (formerly a print!)
...
all together and just include the repr of the data in the exception
itself instead of the useless string "Unknown".
This code path is unlikely to even be possible to take given the
nature of the pipe it gets subprocess data from.
2012-11-11 00:08:45 -08:00
Gregory P. Smith
6893732c35
Remove the subprocess "bad exception data" warning (formerly a print!)
...
all together and just include the repr of the data in the exception
itself instead of the useless string "Unknown".
This code path is unlikely to even be possible to take given the
nature of the pipe it gets subprocess data from.
2012-11-11 00:04:52 -08:00
Gregory P. Smith
3aee222122
Remove the subprocess "bad exception data" warning (formerly a print!)
...
all together and just include the repr of the data in the exception
itself instead of the useless string "Unknown".
This code path is unlikely to even be possible to take given the
nature of the pipe it gets subprocess data from.
2012-11-11 00:04:13 -08:00
Gregory P. Smith
8d07c264e4
Raise our own SubprocessError rather than a RuntimeError in when dealing with
...
odd rare errors coming from the subprocess module.
2012-11-10 23:53:47 -08:00
Gregory P. Smith
1f83866ecd
Rename a local variable for readability and change a "this can't
...
happen" print() call into a RuntimeWarning as it should've been in the
first place. Because nothing should ever cause unexpected stdout output.
2012-11-10 23:33:56 -08:00
Gregory P. Smith
f44c9da166
Rename a local variable for readability and change a "this can't
...
happen" print() call into a RuntimeWarning as it should've been in the
first place. Because nothing should ever cause unexpected stdout output.
2012-11-10 23:33:17 -08:00
Gregory P. Smith
561cbc4e7b
Fixes issue #16327 : The subprocess module no longer leaks file descriptors
...
used for stdin/stdout/stderr pipes to the child when fork() fails.
2012-11-10 22:33:23 -08:00
Gregory P. Smith
3d8e776cd9
Fixes issue #16327 : The subprocess module no longer leaks file descriptors
...
used for stdin/stdout/stderr pipes to the child when fork() fails.
2012-11-10 22:32:22 -08:00
Gregory P. Smith
f328d79223
Fixes issue #14396 : Handle the odd rare case of waitpid returning 0
...
when not expected in subprocess.Popen.wait().
2012-11-10 21:06:18 -08:00
Gregory P. Smith
2ec82331b2
Fixes issue #14396 : Handle the odd rare case of waitpid returning 0 when
...
not expected in subprocess.Popen.wait().
2012-11-10 20:52:29 -08:00
Gregory P. Smith
a10ddb8a55
Fixes Issue #16114 : The subprocess module no longer provides a
...
misleading error message stating that args[0] did not exist when
either the cwd or executable keyword arguments specified a path that
did not exist.
2012-10-10 03:44:47 -07:00
Gregory P. Smith
5591b02a4c
Fixes Issue #16114 : The subprocess module no longer provides a
...
misleading error message stating that args[0] did not exist when
either the cwd or executable keyword arguments specified a path that
did not exist.
It now keeps track of if the child got as far as preexec and reports it if
not back to the parent via a special "noexec" error message value in
the error pipe so that the cwd can be blamed for a failed chdir
instead of the exec of the executable being blamed instead.
The executable is also always reported accurately when exec fails.
Unittests enhanced to cover these cases.
2012-10-10 03:34:47 -07:00
Gregory P. Smith
02dee1acd8
Fixes issue #15756 : subprocess.poll() now properly handles errno.ECHILD
...
to return a returncode of 0 when the child has already exited or cannot be
waited on.
2012-09-29 11:53:08 -07:00
Gregory P. Smith
3905171f1e
Fixes issue #15756 : subprocess.poll() now properly handles errno.ECHILD
...
to return a returncode of 0 when the child has already exited or cannot
be waited on.
2012-09-29 11:40:38 -07:00
Andrew Svetlov
a19de803e4
Issue #15595 : Fix subprocess.Popen(universal_newlines=True)
...
for certain locales (utf-16 and utf-32 family).
Patch by Chris Jerdonek.
2012-08-19 22:20:03 +03:00
Andrew Svetlov
828607170d
Issue #15595 : Fix subprocess.Popen(universal_newlines=True)
...
for certain locales (utf-16 and utf-32 family).
Patch by Chris Jerdonek.
2012-08-19 22:13:41 +03:00
Andrew Svetlov
377a152e0d
Use Thread.is_alive() instead of old-style Thread.isAlive() in subprocess.
2012-08-19 20:49:39 +03:00
Andrew Svetlov
592df20efc
Cleanup universal_newlines usage for subprocess.Popen, remove unused param.
2012-08-15 17:36:15 +03:00
Andrew Svetlov
aa0dbdc2dd
Issue #15592 . Fix regression: subprocess.communicate() breaks on no input with universal newlines true.
...
Patch by Chris Jerdonek.
2012-08-14 18:40:21 +03:00
Victor Stinner
949d8c986e
Close #14690 : Use monotonic clock instead of system clock in the sched,
...
subprocess and trace modules.
2012-05-30 13:30:32 +02:00
Vinay Sajip
7ded1f0f69
Implemented PEP 405 (Python virtual environments).
2012-05-26 03:45:29 +01:00
Antoine Pitrou
ebdcd859e5
Move private function _args_from_interpreter_flags() to subprocess.py, so
...
that it can be imported when threads are disabled.
(followup to issue #12098 )
2012-05-18 18:33:07 +02:00
Antoine Pitrou
23bba4ca39
Issue #11750 : The Windows API functions scattered in the _subprocess and
...
_multiprocessing.win32 modules now live in a single module "_winapi".
Patch by sbt.
2012-04-18 20:51:15 +02:00
Antoine Pitrou
b69ef16fe6
Issue #14252 : Fix subprocess.Popen.terminate() to not raise an error under Windows when the child process has already exited.
2012-03-11 19:33:29 +01:00
Antoine Pitrou
1f9a835400
Issue #14252 : Fix subprocess.Popen.terminate() to not raise an error under Windows when the child process has already exited.
2012-03-11 19:29:12 +01:00
Antoine Pitrou
24d659daaf
Use InterruptedError instead of checking for EINTR
2011-10-23 23:49:42 +02:00
Victor Stinner
c15c88c13d
Issue #12494 : Close pipes and kill process on error in subprocess functions
...
On error, call(), check_call(), check_output() and getstatusoutput() functions
of the subprocess module now kill the process, read its status (to avoid
zombis) and close pipes.
2011-09-01 23:45:04 +02:00
Charles-François Natali
558639f0c9
Issue #12650 : Fix a race condition where a subprocess.Popen could leak
...
resources (FD/zombie) when killed at the wrong time.
2011-08-18 19:11:29 +02:00
Charles-François Natali
134a8baed9
Issue #12650 : Fix a race condition where a subprocess.Popen could leak
...
resources (FD/zombie) when killed at the wrong time.
2011-08-18 18:49:39 +02:00
Ross Lagerwall
d98646e430
Issue #12607 : In subprocess, fix issue where if stdin, stdout or stderr is
...
given as a low fd, it gets overwritten.
2011-07-27 07:16:31 +02:00
Antoine Pitrou
e02891b459
Issue #12591 : Improve support of "universal newlines" in the subprocess
...
module: the piped streams can now be properly read from or written to.
2011-07-23 22:04:41 +02:00
Antoine Pitrou
ab85ff3d1a
Issue #12591 : Improve support of "universal newlines" in the subprocess
...
module: the piped streams can now be properly read from or written to.
(this was broken due to the 2.x to 3.x transition; communicate() support
is still sketchy)
2011-07-23 22:03:45 +02:00
Victor Stinner
5b1261d750
(merge 3.2) Issue #12493 : subprocess: communicate() handles EINTR
...
subprocess.Popen.communicate() now also handles EINTR errors if the process has
only one pipe.
2011-07-05 14:04:39 +02:00
Victor Stinner
2cfb6f3aa0
Issue #12493 : subprocess: communicate() handles EINTR
...
subprocess.Popen.communicate() now also handles EINTR errors if the process has
only one pipe.
2011-07-05 14:00:56 +02:00
Victor Stinner
372b838db5
(merge 3.2) Close #12383 : Fix subprocess module with env={}: don't copy the
...
environment variables, start with an empty environment.
2011-06-21 17:24:21 +02:00
Victor Stinner
f1512a2967
Close #12383 : Fix subprocess module with env={}: don't copy the environment
...
variables, start with an empty environment.
2011-06-21 17:18:38 +02:00
Victor Stinner
1b5b9d7434
(Merge 3.2) Close #12085 : Fix an attribute error in subprocess.Popen destructor
...
if the constructor has failed, e.g. because of an undeclared keyword argument.
Patch written by Oleg Oshmyan.
2011-06-01 00:58:57 +02:00
Victor Stinner
87b9bc3893
Close #12085 : Fix an attribute error in subprocess.Popen destructor if the
...
constructor has failed, e.g. because of an undeclared keyword argument. Patch
written by Oleg Oshmyan.
2011-06-01 00:57:47 +02:00
Gregory P. Smith
59fd1bfcc1
The _posixsubprocess module is now required on POSIX.
...
Remove the pure Python POSIX subprocess implementation.
If non-CPython VMs (are there any for 3.x yet?) were somehow depending
on this, they already have the exact same set of problems with Python
code being executed after os.fork() that _posixsubprocess was written
to deal with. They should implement an equivalent outside of Python.
2011-05-28 09:32:39 -07:00
Gregory P. Smith
a454ef6985
Update documentation to mention bytes instead byte string and correct one
...
mentioned string to the accurate description of what type is required.
2011-05-22 22:29:49 -07:00
Gregory P. Smith
0ef3e399b8
normalize whitespace.
2011-05-11 22:20:11 -07:00
Gregory P. Smith
c9557af441
merge - 7a3f3ad83676 Fixes Issue #12044 .
2011-05-11 22:18:23 -07:00
Gregory P. Smith
6b65745430
- Issue #12044 : Fixed subprocess.Popen when used as a context manager to
...
wait for the process to end when exiting the context to avoid unintentionally
leaving zombie processes around.
2011-05-11 21:42:08 -07:00
Brian Curtin
5d9deaa9d8
whitespace fix
2011-04-29 16:24:07 -05:00
Brian Curtin
b8f8b4e54b
merge
2011-04-29 16:14:55 -05:00
Brian Curtin
08fd8d93f7
merge
2011-04-29 16:11:30 -05:00
Brian Curtin
8b8e7f467f
Further fix #7838 . CREATE_NEW_CONSOLE was exposed, but none of the
...
constants to be used for STARTUPINFO were exposed due to the change.
2011-04-29 15:48:13 -05:00
Ross Lagerwall
0b9ea93a64
Merge with 3.2
2011-04-05 16:07:49 +02:00
Ross Lagerwall
02ba73c0ef
Merge with 3.1
2011-04-05 15:48:47 +02:00
Ross Lagerwall
4f61b02520
Issue #10963 : Ensure that subprocess.communicate() never raises EPIPE.
2011-04-05 15:34:00 +02:00
Victor Stinner
7a8d08110c
Issue #11757 : subprocess ensures that select() and poll() timeout >= 0
2011-04-05 13:13:08 +02:00
Ross Lagerwall
f382ab25ca
Issue #11692 : Remove unnecessary demo functions in subprocess module.
2011-03-27 17:34:22 +02:00
Reid Kleckner
91156ff3f1
Fix timeout error message on windows to not be in milliseconds.
2011-03-21 10:06:10 -07:00
Reid Kleckner
9a67e6c743
Fix the Windows timeout code.
2011-03-20 08:28:07 -07:00
Antoine Pitrou
7b98d02302
Issue #11459 : A `bufsize` value of 0 in subprocess.Popen() really creates
...
unbuffered pipes, such that select() works properly on them.
2011-03-19 17:04:13 +01:00
Antoine Pitrou
877766dee8
Issue #11459 : A `bufsize` value of 0 in subprocess.Popen() really creates
...
unbuffered pipes, such that select() works properly on them.
2011-03-19 17:00:37 +01:00
Ezio Melotti
3b3499ba69
#11565 : Merge with 3.1.
2011-03-16 11:35:38 +02:00
Ezio Melotti
13925008dc
#11565 : Fix several typos. Patch by Piotr Kasprzyk.
2011-03-16 11:05:33 +02:00
Antoine Pitrou
1679f4daa1
Issue #11459 : A `bufsize` value of 0 in subprocess.Popen() really creates
...
unbuffered pipes, such that select() works properly on them.
2011-03-19 17:06:22 +01:00
Reid Kleckner
2b228f0d9b
Include the timeout value in TimeoutExpired.
...
This was the original intention, but it wasn't threaded all the way through due
to 'endtime'. Also added a trivial assertion to get coverage of __str__.
2011-03-16 16:57:54 -04:00
Ross Lagerwall
ba102ec10d
Issue #5870 : Add subprocess.DEVNULL constant.
2011-03-16 18:40:25 +02:00
Ezio Melotti
b88ed1549e
#11565 : Merge with 3.2.
2011-03-16 11:38:59 +02:00
Gregory P. Smith
b4039aaf35
whitespace fix
2011-03-14 14:16:20 -04:00
Gregory P. Smith
54d412edcc
Add a SubprocessError base class for exceptions in the subprocess module.
2011-03-14 14:08:43 -04:00
Reid Kleckner
31aa7dd141
Add a 'timeout' argument to subprocess.Popen.
...
If the timeout expires before the subprocess exits, the wait method and the
communicate method will raise a subprocess.TimeoutExpired exception. When used
with communicate, it is possible to catch the exception, kill the process, and
retry the communicate and receive any output written to stdout or stderr.
2011-03-14 12:02:10 -04:00
Victor Stinner
7b3b20ad29
Issue #8513 : On UNIX, subprocess supports bytes command string.
2011-03-03 12:54:05 +00:00
Antoine Pitrou
c99823211b
In subprocess, wrap pipe fds before launching the child. Hopefully this
...
will fix intermittent failures on some buildbots (issue #8458 ).
2011-01-04 19:07:07 +00:00
Antoine Pitrou
47f14bade8
Un-complicate some code
2011-01-03 23:42:01 +00:00
Antoine Pitrou
f50a6b6b6d
Merged revisions 87695 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r87695 | antoine.pitrou | 2011-01-03 19:23:55 +0100 (lun., 03 janv. 2011) | 5 lines
Issue #10806 , issue #9905 : Fix subprocess pipes when some of the standard
file descriptors (0, 1, 2) are closed in the parent process. Initial
patch by Ross Lagerwall.
........
2011-01-03 18:36:36 +00:00
Antoine Pitrou
c9c83ba896
Issue #10806 , issue #9905 : Fix subprocess pipes when some of the standard
...
file descriptors (0, 1, 2) are closed in the parent process. Initial
patch by Ross Lagerwall.
2011-01-03 18:23:55 +00:00
Victor Stinner
667d4b577f
Issue #10763 : subprocess.communicate() closes stdout and stderr if both are
...
pipes (bug specific to Windows).
Improve also the unit test: write a portable unit test.
2010-12-25 22:40:32 +00:00
Gregory P. Smith
b740e76af0
Merged revisions 87233 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r87233 | gregory.p.smith | 2010-12-14 06:38:00 -0800 (Tue, 14 Dec 2010) | 4 lines
Issue #1731717 : Fixed the problem where subprocess.wait() could cause an
OSError exception when The OS had been told to ignore SIGCLD in our process
or otherwise not wait for exiting child processes.
........
2010-12-14 15:16:24 +00:00
Gregory P. Smith
e85db2bbb8
Issue #1731717 : Fixed the problem where subprocess.wait() could cause an
...
OSError exception when The OS had been told to ignore SIGCLD in our process
or otherwise not wait for exiting child processes.
2010-12-14 14:38:00 +00:00
Gregory P. Smith
8edd99d085
Issue #6559 : fix the subprocess.Popen pass_fds implementation. Add a unittest.
...
Issue #7213 : Change the close_fds default on Windows to better match the new
default on POSIX. True when possible (False if stdin/stdout/stderr are
supplied).
Update the documentation to reflect all of the above.
2010-12-14 13:43:30 +00:00
Gregory P. Smith
51ee270876
issue7213: Open the pipes used by subprocesses with the FD_CLOEXEC flag from
...
the C code, using pipe2() when available. Adds unittests for close_fds and
cloexec behaviors.
2010-12-13 07:59:39 +00:00
Gregory P. Smith
f560485388
Get rid of the close_fds DeprecationWarning. Changes the default on a per
...
platform basis. It remains False on Windows and changes to True on all
other platforms (POSIX). Based on python-dev discussion and
http://bugs.python.org/issue7213 .
2010-12-13 06:45:02 +00:00
Gregory P. Smith
8c647cd737
clarify the docs and new warning message.
2010-12-04 18:11:44 +00:00
Gregory P. Smith
d4cc7bf993
issue6559: Adds a pass_fds parameter to subprocess.Popen that allows the caller
...
to list exactly which file descriptors should be kept open.
2010-12-04 11:22:11 +00:00
Gregory P. Smith
d23047b62c
issue7213 + issue2320: Cause a DeprecationWarning if the close_fds argument is
...
not passed to subprocess.Popen as the default value will be changing in a
future Python to the safer and more often desired value of True.
DeprecationWarnings that show up in a lot of existing code are controversial
and have caused pain in the past. I'd like to leave this on for 3.2 beta1 and
see how things go. We can remove the warning if it is deemed too noisy during
any betas. (case study: the md5 and sha module DeprecationWarnings are loathed
around the world as those modules were never going to be removed in 2.x and
2to3 has a fixer for code that uses them)
2010-12-04 09:10:44 +00:00
Brian Curtin
79cdb661f5
Fix #10554 . Added context manager support to Popen objects.
...
Added a few common Popen uses to the tests like we've done for a few other
instances of adding context managers. Eventually the entire test suite
could be converted to use the context manager format.
2010-12-03 02:46:02 +00:00