Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
63d675ce
Kaydet (Commit)
63d675ce
authored
Eyl 06, 2006
tarafından
Gustavo Niemeyer
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Backporting fix for bug #1531862, committed in 51758, into 2.5,
making subprocess not close standard file descriptors.
üst
d7357791
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
8 deletions
+48
-8
subprocess.py
Lib/subprocess.py
+4
-8
test_subprocess.py
Lib/test/test_subprocess.py
+42
-0
NEWS
Misc/NEWS
+2
-0
No files found.
Lib/subprocess.py
Dosyayı görüntüle @
63d675ce
...
...
@@ -1000,14 +1000,10 @@ class Popen(object):
if
errwrite
:
os
.
dup2
(
errwrite
,
2
)
# Close pipe fds. Make sure we doesn't close the same
# fd more than once.
if
p2cread
:
os
.
close
(
p2cread
)
if
c2pwrite
and
c2pwrite
not
in
(
p2cread
,):
os
.
close
(
c2pwrite
)
if
errwrite
and
errwrite
not
in
(
p2cread
,
c2pwrite
):
os
.
close
(
errwrite
)
# Close pipe fds. Make sure we don't close the same
# fd more than once, or standard fds.
for
fd
in
set
((
p2cread
,
c2pwrite
,
errwrite
))
-
set
((
0
,
1
,
2
)):
if
fd
:
os
.
close
(
fd
)
# Close all other fds, if asked for
if
close_fds
:
...
...
Lib/test/test_subprocess.py
Dosyayı görüntüle @
63d675ce
...
...
@@ -234,6 +234,48 @@ class ProcessTestCase(unittest.TestCase):
stripped
=
remove_stderr_debug_decorations
(
output
)
self
.
assertEqual
(
stripped
,
"appleorange"
)
def
test_stdout_filedes_of_stdout
(
self
):
# stdout is set to sys.stdout.fileno() (#1531862).
cmd
=
r"import sys, os; sys.exit(os.write(sys.stderr.fileno(), '.\n'))"
rc
=
subprocess
.
call
([
sys
.
executable
,
"-c"
,
cmd
],
stdout
=
sys
.
stdout
.
fileno
())
self
.
assertEquals
(
rc
,
2
)
def
test_stdout_fileobj_of_stdout
(
self
):
# stdout is set to sys.stdout (#1531862).
cmd
=
r"import sys, os; sys.exit(os.write(sys.stderr.fileno(), '.\n'))"
rc
=
subprocess
.
call
([
sys
.
executable
,
"-c"
,
cmd
],
stdout
=
sys
.
stdout
)
self
.
assertEquals
(
rc
,
2
)
def
test_stdout_fileobj_of_stderr
(
self
):
# stdout is set to sys.stderr (#1531862).
cmd
=
r"import sys, os; sys.exit(os.write(sys.stderr.fileno(), '.\n'))"
rc
=
subprocess
.
call
([
sys
.
executable
,
"-c"
,
cmd
],
stdout
=
sys
.
stderr
)
self
.
assertEquals
(
rc
,
2
)
def
test_stderr_filedes_of_stderr
(
self
):
# stderr is set to sys.stderr.fileno() (#1531862).
cmd
=
r"import sys, os; sys.exit(os.write(sys.stderr.fileno(), '.\n'))"
rc
=
subprocess
.
call
([
sys
.
executable
,
"-c"
,
cmd
],
stderr
=
sys
.
stderr
.
fileno
())
self
.
assertEquals
(
rc
,
2
)
def
test_stderr_fileobj_of_stderr
(
self
):
# stderr is set to sys.stderr (#1531862).
cmd
=
r"import sys, os; sys.exit(os.write(sys.stderr.fileno(), '.\n'))"
rc
=
subprocess
.
call
([
sys
.
executable
,
"-c"
,
cmd
],
stderr
=
sys
.
stderr
)
self
.
assertEquals
(
rc
,
2
)
def
test_stderr_fileobj_of_stdout
(
self
):
# stderr is set to sys.stdout (#1531862).
cmd
=
r"import sys, os; sys.exit(os.write(sys.stderr.fileno(), '.\n'))"
rc
=
subprocess
.
call
([
sys
.
executable
,
"-c"
,
cmd
],
stderr
=
sys
.
stdout
)
self
.
assertEquals
(
rc
,
2
)
def
test_cwd
(
self
):
tmpdir
=
os
.
getenv
(
"TEMP"
,
"/tmp"
)
# We cannot use os.path.realpath to canonicalize the path,
...
...
Misc/NEWS
Dosyayı görüntüle @
63d675ce
...
...
@@ -47,6 +47,8 @@ Library
-
Bug
#
1543303
,
patch
#
1543897
:
remove
NUL
padding
from
tarfiles
.
-
Bug
#
1531862
:
Do
not
close
standard
file
descriptors
in
subprocess
.
Extension
Modules
-----------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment