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
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
Ross Lagerwall
a4b070102a
Merge with 3.2
2012-08-24 13:32:14 +02:00
Ross Lagerwall
f2b34b8b96
Issue 15777: Fix a refleak in _posixsubprocess.
...
It was exposed by 03c98d05b140 and dbbf3ccf72e8.
2012-08-24 13:25:59 +02:00
Stefan Krah
c0c03be53e
Merge 3.2.
2012-08-20 14:42:59 +02:00
Stefan Krah
db579d7b25
Issue #15738 : Fix a missing NULL check in subprocess_fork_exec().
2012-08-20 14:36:47 +02:00
Antoine Pitrou
721738fbee
Issue #15604 : Update uses of PyObject_IsTrue() to check for and handle errors correctly.
...
Patch by Serhiy Storchaka.
2012-08-15 23:20:39 +02:00
Antoine Pitrou
6f430e4963
Issue #15604 : Update uses of PyObject_IsTrue() to check for and handle errors correctly.
...
Patch by Serhiy Storchaka.
2012-08-15 23:18:25 +02:00
Gregory P. Smith
902274e948
Fixes issue #15000 : support the odd x32 abi on posixsubprocess's system call.
2012-06-05 13:30:24 -07:00
Gregory P. Smith
58f07a9d6d
Fixes issue #15000 : support the odd x32 abi on posixsubprocess's system call.
2012-06-05 13:26:39 -07:00
Ross Lagerwall
71faefc37e
Issue #14359 : Only use O_CLOEXEC in _posixmodule.c if it is defined.
...
Based on patch from Hervé Coatanhay.
2012-03-19 06:08:43 +02:00
Ross Lagerwall
5802fdf31f
Issue 14359: Only use O_CLOEXEC in _posixmodule.c if it is defined.
...
Based on patch from Hervé Coatanhay.
2012-03-18 15:55:10 +02:00
Ross Lagerwall
7f4fdb266a
Use ANSI C prototype instead of K&R style.
2012-03-07 20:06:33 +02:00
Benjamin Peterson
3ef2f8c296
merge 3.2
2012-01-22 20:04:58 -05:00
Benjamin Peterson
91eef984fd
fix declaration style
2012-01-22 20:04:46 -05:00
Gregory P. Smith
08c1278ab8
Fix FreeBSD, NetBSD and OpenBSD behavior of the issue #8052 fix.
2012-01-21 21:06:22 -08:00
Gregory P. Smith
4842efcf97
Fix FreeBSD, NetBSD and OpenBSD behavior of the issue #8052 fix.
2012-01-21 21:01:24 -08:00
Gregory P. Smith
d45382db0b
bugfix for *BSD platforms. (oops messed up #define)
2012-01-21 15:20:37 -08:00
Gregory P. Smith
61f0da8c02
bugfix for issue 8052 fixes on *BSD platforms.
2012-01-21 15:20:08 -08:00
Gregory P. Smith
e9b7cab1da
Another issue #8052 bugfix (related to previous commit).
...
"oops" while rearranging the #defines.
2012-01-21 15:19:11 -08:00
Gregory P. Smith
e3f7848bc5
Bugfix for issue #8052 fix on *BSD variants.
...
Many lack readdir64, use readdir. Only use readdir64 on solaris where
it is required to work around a solaris bug.
2012-01-21 15:16:17 -08:00
Gregory P. Smith
d635af5a61
Fixes issue #8052 : The posix subprocess module's close_fds behavior was
...
suboptimal by closing all possible file descriptors rather than just
the open ones in the child process before exec().
It now closes only the open fds when it is possible to safely determine what
those are.
2012-01-21 14:39:29 -08:00
Gregory P. Smith
8facece99a
Fixes issue #8052 : The posix subprocess module's close_fds behavior was
...
suboptimal by closing all possible file descriptors rather than just
the open ones in the child process before exec().
It now closes only the open fds when it is possible to safely determine what
those are.
2012-01-21 14:01:08 -08:00
Gregory P. Smith
e961bd4934
Avoid the compiler warning about the unused return value.
2012-01-21 12:51:30 -08:00
Gregory P. Smith
12fdca59bb
Avoid the compiler warning about the unused return value.
2012-01-21 12:31:25 -08:00
Ross Lagerwall
667d75d059
Don't redefine _GNU_SOURCE if it's already defined.
2011-12-22 09:45:53 +02:00
Ross Lagerwall
031bf95d32
Issue #11006 : Don't issue low level warning in subprocess when pipe2() fails.
2011-12-22 09:07:30 +02:00
Ross Lagerwall
0b77ac32b2
Merge with 3.2 for #11006 .
2011-12-22 09:10:47 +02:00
Martin v. Löwis
bd928fef42
Rename _Py_identifier to _Py_IDENTIFIER.
2011-10-14 10:20:37 +02:00
Martin v. Löwis
afe55bba33
Add API for static strings, primarily good for identifiers.
...
Thanks to Konrad Schöbel and Jasper Schulz for helping with the mass-editing.
2011-10-09 10:38:36 +02:00
Ross Lagerwall
114f0e499d
Issue #12607 : Merge with 3.2.
2011-07-27 07:39:27 +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
Victor Stinner
5572ba7e15
_posixsubprocess.c: don't redefine _GNU_SOURCE if it's already defined
2011-05-26 14:10:08 +02:00
Gregory P. Smith
9c4f44f70a
Fix issue #11432 . if the stdin pipe is the same file descriptor as either stdout or stderr
...
in the _posixsubprocess C extension module it would unintentionally close the fds and raise
an error.
2011-03-15 14:56:39 -04:00
Gregory P. Smith
8121898ec5
Fix issue #11432 . if the stdin pipe is the same file descriptor as either stdout or stderr
...
in the _posixsubprocess C extension module it would unintentionally close the fds and raise
an error.
2011-03-15 14:56:39 -04: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
Gregory P. Smith
abcfcba61c
issue10802: fallback to pipe+fcntl when the pipe2 syscall fails with errno ENOSYS.
2011-01-02 20:52:48 +00:00
Gregory P. Smith
14affb84ca
fix a compiler warning about err_msg potentially being used uninitialized.
2010-12-22 05:22:17 +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
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
Victor Stinner
dcb2403022
Issue #8485 : PyUnicode_FSConverter() doesn't accept bytearray object anymore,
...
you have to convert your bytearray filenames to bytes
2010-04-22 12:08:36 +00:00
Victor Stinner
0e59cc3fc3
Issue #8393 : subprocess accepts bytes, bytearray and str with surrogates for
...
the current working directory.
Remove also a trailing space, and replace tabulation indentation by spaces.
2010-04-16 23:49:32 +00:00
Gregory P. Smith
32ec9da166
* Fix a refleak when a preexec_fn was supplied (preexec_fn_args_tuple was not
...
being defref'ed).
* Fixes another potential refleak of a reference to the gc
module in the unlikely odd case where gc module isenabled or disable calls
fail.
* Adds a unittest for the above case to verify behavior and lack of leaks.
2010-03-19 16:53:08 +00:00
Gregory P. Smith
68f52178d9
* Fix the refcount leak in _PySequence_BytesToCharpArray from r78946.
...
* Also fixes a potential extra DECREF of an arg in the error case within
_posixsubprocess.fork_exec() by not reusing the process_args variable.
2010-03-15 06:07:42 +00:00
Gregory P. Smith
fb94c5f1e5
* Replaces the internals of the subprocess module from fork through exec on
...
POSIX systems with a C extension module. This is required in order for
the subprocess module to be made thread safe.
The pure python implementation is retained so that it can continue to be
used if for some reason the _posixsubprocess extension module is not
available.
The unittest executes tests on both code paths to guarantee compatibility.
* Moves PyLong_FromPid and PyLong_AsPid from posixmodule.c into longobject.h.
Code reviewed by jeffrey.yasskin at http://codereview.appspot.com/223077/show
2010-03-14 06:49:55 +00:00