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
4eb5f1a5
Kaydet (Commit)
4eb5f1a5
authored
Mar 25, 2013
tarafından
Georg Brandl
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Sade Fark
merge with main repo 3.2 branch
üst
a7d2f006
5be6d74a
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
62 additions
and
27 deletions
+62
-27
subprocess.rst
Doc/library/subprocess.rst
+13
-10
subprocess.py
Lib/subprocess.py
+9
-9
test_queue.py
Lib/test/test_queue.py
+4
-1
test_subprocess.py
Lib/test/test_subprocess.py
+22
-0
NEWS
Misc/NEWS
+7
-0
readme.txt
PC/VC6/readme.txt
+2
-2
pyproject.vsprops
PC/VS8.0/pyproject.vsprops
+1
-1
pyproject.vsprops
PCbuild/pyproject.vsprops
+1
-1
readme.txt
PCbuild/readme.txt
+1
-1
external-common.bat
Tools/buildbot/external-common.bat
+2
-2
No files found.
Doc/library/subprocess.rst
Dosyayı görüntüle @
4eb5f1a5
...
...
@@ -284,7 +284,7 @@ are able to handle the less common cases not covered by the convenience
functions.
.. class:: Popen(args, bufsize=
0
, executable=None, stdin=None, stdout=None, \
.. class:: Popen(args, bufsize=
-1
, executable=None, stdin=None, stdout=None, \
stderr=None, preexec_fn=None, close_fds=True, shell=False, \
cwd=None, env=None, universal_newlines=False, \
startupinfo=None, creationflags=0, restore_signals=True, \
...
...
@@ -356,17 +356,20 @@ functions.
untrusted input. See the warning under :ref:`frequently-used-arguments`
for details.
*bufsize*, if given, has the same meaning as the corresponding argument to the
built-in open() function: :const:`0` means unbuffered, :const:`1` means line
buffered, any other positive value means use a buffer of (approximately) that
size. A negative *bufsize* means to use the system default, which usually means
fully buffered. The default value for *bufsize* is :const:`0` (unbuffered).
*bufsize* will be supplied as the corresponding argument to the :meth:`io.open`
function when creating the stdin/stdout/stderr pipe file objects:
:const:`0` means unbuffered (read and write are one system call and can return short),
:const:`1` means line buffered, any other positive value means use a buffer of
approximately that size. A negative bufsize (the default) means
the system default of io.DEFAULT_BUFFER_SIZE will be used.
..
note::
..
versionchanged:: 3.2.4
If you experience performance issues, it is recommended that you try to
enable buffering by setting *bufsize* to either -1 or a large enough
positive value (such as 4096).
*bufsize* now defaults to -1 to enable buffering by default to match the
behavior that most code expects. In 3.2.0 through 3.2.3 it incorrectly
defaulted to :const:`0` which was unbuffered and allowed short reads.
This was unintentional and did not match the behavior of Python 2 as
most code expected.
The *executable* argument specifies a replacement program to execute. It
is very seldom needed. When ``shell=False``, *executable* replaces the
...
...
Lib/subprocess.py
Dosyayı görüntüle @
4eb5f1a5
...
...
@@ -25,7 +25,7 @@ Using the subprocess module
===========================
This module defines one class called Popen:
class Popen(args, bufsize=
0
, executable=None,
class Popen(args, bufsize=
-1
, executable=None,
stdin=None, stdout=None, stderr=None,
preexec_fn=None, close_fds=True, shell=False,
cwd=None, env=None, universal_newlines=False,
...
...
@@ -56,12 +56,12 @@ not all MS Windows applications interpret the command line the same
way: The list2cmdline is designed for applications using the same
rules as the MS C runtime.
bufsize
, if given, has the same meaning as the corresponding argument
to the built-in open() function: 0 means unbuffered, 1 means line
buffered, any other positive value means use a buffer of
(approximately) that size. A negative bufsize means to use the system
default, which usually means fully buffered. The default value for
bufsize is 0 (unbuffered)
.
bufsize
will be supplied as the corresponding argument to the io.open()
function when creating the stdin/stdout/stderr pipe file objects:
0 means unbuffered (read & write are one system call and can return short),
1 means line buffered, any other positive value means use a buffer of
approximately that size. A negative bufsize, the default, means the system
default of io.DEFAULT_BUFFER_SIZE will be used
.
stdin, stdout and stderr specify the executed programs' standard
input, standard output and standard error file handles, respectively.
...
...
@@ -638,7 +638,7 @@ _PLATFORM_DEFAULT_CLOSE_FDS = object()
class
Popen
(
object
):
def
__init__
(
self
,
args
,
bufsize
=
0
,
executable
=
None
,
def
__init__
(
self
,
args
,
bufsize
=
-
1
,
executable
=
None
,
stdin
=
None
,
stdout
=
None
,
stderr
=
None
,
preexec_fn
=
None
,
close_fds
=
_PLATFORM_DEFAULT_CLOSE_FDS
,
shell
=
False
,
cwd
=
None
,
env
=
None
,
universal_newlines
=
False
,
...
...
@@ -650,7 +650,7 @@ class Popen(object):
self
.
_child_created
=
False
if
bufsize
is
None
:
bufsize
=
0
# Restore default
bufsize
=
-
1
# Restore default
if
not
isinstance
(
bufsize
,
int
):
raise
TypeError
(
"bufsize must be an integer"
)
...
...
Lib/test/test_queue.py
Dosyayı görüntüle @
4eb5f1a5
...
...
@@ -46,6 +46,9 @@ class _TriggerThread(threading.Thread):
class
BlockingTestMixin
:
def
tearDown
(
self
):
self
.
t
=
None
def
do_blocking_test
(
self
,
block_func
,
block_args
,
trigger_func
,
trigger_args
):
self
.
t
=
_TriggerThread
(
trigger_func
,
trigger_args
)
self
.
t
.
start
()
...
...
@@ -260,7 +263,7 @@ class FailingQueue(queue.Queue):
raise
FailingQueueException
(
"You Lose"
)
return
queue
.
Queue
.
_get
(
self
)
class
FailingQueueTest
(
unittest
.
TestCase
,
BlockingTestMixin
):
class
FailingQueueTest
(
BlockingTestMixin
,
unittest
.
TestCase
):
def
failing_queue_test
(
self
,
q
):
if
q
.
qsize
():
...
...
Lib/test/test_subprocess.py
Dosyayı görüntüle @
4eb5f1a5
...
...
@@ -79,6 +79,28 @@ class PopenExecuteChildRaises(subprocess.Popen):
class
ProcessTestCase
(
BaseTestCase
):
def
test_io_buffered_by_default
(
self
):
p
=
subprocess
.
Popen
([
sys
.
executable
,
"-c"
,
"import sys; sys.exit(0)"
],
stdin
=
subprocess
.
PIPE
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
try
:
self
.
assertIsInstance
(
p
.
stdin
,
io
.
BufferedIOBase
)
self
.
assertIsInstance
(
p
.
stdout
,
io
.
BufferedIOBase
)
self
.
assertIsInstance
(
p
.
stderr
,
io
.
BufferedIOBase
)
finally
:
p
.
wait
()
def
test_io_unbuffered_works
(
self
):
p
=
subprocess
.
Popen
([
sys
.
executable
,
"-c"
,
"import sys; sys.exit(0)"
],
stdin
=
subprocess
.
PIPE
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
,
bufsize
=
0
)
try
:
self
.
assertIsInstance
(
p
.
stdin
,
io
.
RawIOBase
)
self
.
assertIsInstance
(
p
.
stdout
,
io
.
RawIOBase
)
self
.
assertIsInstance
(
p
.
stderr
,
io
.
RawIOBase
)
finally
:
p
.
wait
()
def
test_call_seq
(
self
):
# call() function with sequence argument
rc
=
subprocess
.
call
([
sys
.
executable
,
"-c"
,
...
...
Misc/NEWS
Dosyayı görüntüle @
4eb5f1a5
...
...
@@ -233,6 +233,11 @@ Core and Builtins
Library
-------
- 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.
- Issue #17521: Corrected non-enabling of logger following two calls to
fileConfig().
...
...
@@ -1079,6 +1084,8 @@ Tests
Build
-----
- Issue #17425: Build with openssl 1.0.0k on Windows.
- Issue #16754: Fix the incorrect shared library extension on linux. Introduce
two makefile macros SHLIB_SUFFIX and EXT_SUFFIX. SO now has the value of
SHLIB_SUFFIX again (as in 2.x and 3.1). The SO macro is removed in 3.4.
...
...
PC/VC6/readme.txt
Dosyayı görüntüle @
4eb5f1a5
...
...
@@ -153,9 +153,9 @@ _ssl
Unpack into the "dist" directory, retaining the folder name from
the archive - for example, the latest stable OpenSSL will install as
dist/openssl-1.0.0
j
dist/openssl-1.0.0
k
You need to use version 1.0.0
j
of OpenSSL.
You need to use version 1.0.0
k
of OpenSSL.
You can install the NASM assembler from
http://www.nasm.us/
...
...
PC/VS8.0/pyproject.vsprops
Dosyayı görüntüle @
4eb5f1a5
...
...
@@ -58,7 +58,7 @@
/>
<UserMacro
Name=
"opensslDir"
Value=
"$(externalsDir)\openssl-1.0.0
j
"
Value=
"$(externalsDir)\openssl-1.0.0
k
"
/>
<UserMacro
Name=
"tcltkDir"
...
...
PCbuild/pyproject.vsprops
Dosyayı görüntüle @
4eb5f1a5
...
...
@@ -58,7 +58,7 @@
/>
<UserMacro
Name=
"opensslDir"
Value=
"$(externalsDir)\openssl-1.0.0
j
"
Value=
"$(externalsDir)\openssl-1.0.0
k
"
/>
<UserMacro
Name=
"tcltkDir"
...
...
PCbuild/readme.txt
Dosyayı görüntüle @
4eb5f1a5
...
...
@@ -139,7 +139,7 @@ _ssl
Get the source code through
svn export http://svn.python.org/projects/external/openssl-1.0.0
j
svn export http://svn.python.org/projects/external/openssl-1.0.0
k
** NOTE: if you use the Tools\buildbot\external(-amd64).bat approach for
obtaining external sources then you don't need to manually get the source
...
...
Tools/buildbot/external-common.bat
Dosyayı görüntüle @
4eb5f1a5
...
...
@@ -14,7 +14,7 @@ cd ..
@rem if exist tk8.4.16 rd /s/q tk8.4.16
@rem if exist tk-8.4.18.1 rd /s/q tk-8.4.18.1
@rem if exist db-4.4.20 rd /s/q db-4.4.20
@rem if exist openssl-1.0.0
j rd /s/q openssl-1.0.0j
@rem if exist openssl-1.0.0
k rd /s/q openssl-1.0.0k
@rem if exist sqlite-3.7.4 rd /s/q sqlite-3.7.4
@rem bzip
...
...
@@ -24,7 +24,7 @@ if not exist bzip2-1.0.6 (
)
@rem OpenSSL
if not exist openssl-1.0.0
j svn export http://svn.python.org/projects/external/openssl-1.0.0j
if not exist openssl-1.0.0
k svn export http://svn.python.org/projects/external/openssl-1.0.0k
@rem tcl/tk
if not exist tcl-8.5.9.0 (
...
...
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