]>
granicus.if.org Git - python/log
Victor Stinner [Fri, 3 Apr 2015 11:22:27 +0000 (13:22 +0200)]
Issue #23834: Simplify timeout handling
* Use the new _PyTime_FromSeconds() function to set the timeout to -1 second
for socket.settimeout(None). It avoids a special case in internal_select()
because of a rounding issue: -1 nanosecond is rounded to 0 millisecond which
means non-blocking, instead of blocking.
* Check if the interval the negative in sock_call_ex() instead of doing the
check in internal_select(). sock_call_ex() remembers if the socket has a
timeout or not, which avoids a race condition if the timeout is modified in a
different thread.
Victor Stinner [Fri, 3 Apr 2015 11:10:54 +0000 (13:10 +0200)]
Issue #22117: Add a new _PyTime_FromSeconds() function
Fix also _Py_InitializeEx_Private(): initialize time before initializing
import, import_init() uses the _PyTime API (for thread locks).
Victor Stinner [Fri, 3 Apr 2015 09:09:08 +0000 (11:09 +0200)]
Merge 3.4 (test_nntplib)
Victor Stinner [Fri, 3 Apr 2015 09:06:40 +0000 (11:06 +0200)]
Issue #22351: Fix test_nntplib if the ssl module is missing
@unittest.skipUnless(ssl, '...') doesn't work because the class body uses the
nntplib.NNTP_SSL attribute which doesn't exist.
Serhiy Storchaka [Thu, 2 Apr 2015 20:07:19 +0000 (23:07 +0300)]
Issue #10590: Added tests for xml.sax.parse() and xml.sax.parseString().
Serhiy Storchaka [Thu, 2 Apr 2015 20:05:57 +0000 (23:05 +0300)]
Issue #10590: Added tests for xml.sax.parse() and xml.sax.parseString().
Serhiy Storchaka [Thu, 2 Apr 2015 18:00:13 +0000 (21:00 +0300)]
Issue #2175: SAX parsers now support a character stream of InputSource object.
Serhiy Storchaka [Thu, 2 Apr 2015 17:57:20 +0000 (20:57 +0300)]
Issue #2175: Added tests for xml.sax.saxutils.prepare_input_source().
Made test XML files non-ASCII.
Serhiy Storchaka [Thu, 2 Apr 2015 17:55:59 +0000 (20:55 +0300)]
Issue #2175: Added tests for xml.sax.saxutils.prepare_input_source().
Made test XML files non-ASCII.
Serhiy Storchaka [Thu, 2 Apr 2015 17:07:24 +0000 (20:07 +0300)]
Issue #16840: Fixed test_tcl for Tcl < 8.5.
Serhiy Storchaka [Thu, 2 Apr 2015 17:07:09 +0000 (20:07 +0300)]
Issue #16840: Fixed test_tcl for Tcl < 8.5.
Serhiy Storchaka [Thu, 2 Apr 2015 16:59:34 +0000 (19:59 +0300)]
Issue #21526: Skip test_booleans on Tcl < 8.5.
Serhiy Storchaka [Thu, 2 Apr 2015 16:57:52 +0000 (19:57 +0300)]
Issue #21526: Skip test_booleans on Tcl < 8.5.
Serhiy Storchaka [Thu, 2 Apr 2015 15:49:14 +0000 (18:49 +0300)]
Issue #16840: Tkinter now supports 64-bit integers added in Tcl 8.4 and
arbitrary precision integers added in Tcl 8.5.
Serhiy Storchaka [Thu, 2 Apr 2015 15:46:50 +0000 (18:46 +0300)]
Issue #16840: Tkinter now supports 64-bit integers added in Tcl 8.4 and
arbitrary precision integers added in Tcl 8.5.
Victor Stinner [Thu, 2 Apr 2015 15:20:48 +0000 (17:20 +0200)]
(Merge 3.4) Issue #23834: Fix socket.sendto(), use the C Py_ssize_t type to
store the result of sendto() instead of the C int type.
(The bug was already fixed in the default branch, but differently.)
Victor Stinner [Thu, 2 Apr 2015 15:16:08 +0000 (17:16 +0200)]
Issue #23834: Fix socket.sendto(), use the C Py_ssize_t type to store the
result of sendto() instead of the C int type.
Victor Stinner [Thu, 2 Apr 2015 14:25:01 +0000 (16:25 +0200)]
Merge 3.4 (_posixsubprocess)
Victor Stinner [Thu, 2 Apr 2015 14:24:46 +0000 (16:24 +0200)]
Issue #23851: close() must not be retried when it fails with EINTR
See the PEP 475 for the rationale.
Victor Stinner [Thu, 2 Apr 2015 13:17:12 +0000 (15:17 +0200)]
Issue #23618: Ooops, remove abort() added for debug purpose
Victor Stinner [Thu, 2 Apr 2015 12:37:20 +0000 (14:37 +0200)]
Issue #23618: Fix sock_connect_impl(), set the socket error code
sock_call_ex() gets the socket error code when the socket function fails.
sock_connect_impl() didn't set the error correctly.
Victor Stinner [Thu, 2 Apr 2015 12:22:44 +0000 (14:22 +0200)]
Merge 3.4 (test_exceptions)
Victor Stinner [Thu, 2 Apr 2015 12:17:38 +0000 (14:17 +0200)]
Issue #22977: Fix test_exceptions
Victor Stinner [Thu, 2 Apr 2015 11:56:29 +0000 (13:56 +0200)]
Issue #23648: Complete the list of modified functions for the PEP 475
Victor Stinner [Thu, 2 Apr 2015 09:50:57 +0000 (11:50 +0200)]
Issue #23618: socket.socket.connect() now waits until the connection completes
instead of raising InterruptedError if the connection is interrupted by
signals, signal handlers don't raise an exception and the socket is blocking or
has a timeout.
socket.socket.connect() still raise InterruptedError for non-blocking sockets.
Victor Stinner [Thu, 2 Apr 2015 09:49:42 +0000 (11:49 +0200)]
Issue #23618: Document EINTR changes in socket documentation
Victor Stinner [Thu, 2 Apr 2015 10:28:07 +0000 (12:28 +0200)]
Issue #23618: Don't declare recvmsg/sendmsg helper functions on Windows
Serhiy Storchaka [Thu, 2 Apr 2015 08:47:51 +0000 (11:47 +0300)]
Issue #21526: Fixed the test_booleans test for wantobjects = 0.
Serhiy Storchaka [Thu, 2 Apr 2015 08:46:07 +0000 (11:46 +0300)]
Issue #21526: Fixed the test_booleans test for wantobjects = 0.
Serhiy Storchaka [Thu, 2 Apr 2015 07:58:40 +0000 (10:58 +0300)]
Issue #21526: Fixed support of new boolean type in Tcl 8.5.
Serhiy Storchaka [Thu, 2 Apr 2015 07:35:57 +0000 (10:35 +0300)]
Issue #21526: Tkinter now supports new boolean type in Tcl 8.5.
Serhiy Storchaka [Thu, 2 Apr 2015 06:50:06 +0000 (09:50 +0300)]
Issue #22977: Fixed formatting Windows error messages on Wine.
Patch by Martin Panter.
Serhiy Storchaka [Thu, 2 Apr 2015 06:47:27 +0000 (09:47 +0300)]
Issue #22977: Fixed formatting Windows error messages on Wine.
Patch by Martin Panter.
Benjamin Peterson [Thu, 2 Apr 2015 04:08:10 +0000 (00:08 -0400)]
merge 3.4 (#23844)
Benjamin Peterson [Thu, 2 Apr 2015 04:04:06 +0000 (00:04 -0400)]
replace 512 bit dh key with a 2014 bit one (closes #23844)
Patch by Cédric Krier.
Victor Stinner [Thu, 2 Apr 2015 01:22:49 +0000 (03:22 +0200)]
Issue #23834: Fix sock_call(), set deadline_initialized to recompute the timeout
Victor Stinner [Wed, 1 Apr 2015 20:53:26 +0000 (22:53 +0200)]
Issue #23834: Modify socket.sendall() to reuse sock_call() with
sock_send_impl()
Victor Stinner [Wed, 1 Apr 2015 19:57:09 +0000 (21:57 +0200)]
Issue #23834: Add sock_call() helper function
The BEGIN_SELECT_LOOP and END_SELECT_LOOP macros of socketmodule.c don't handle
EINTR. Functions using these macros use an inner loop to handle EINTR, but they
don't recompute the timeout.
This changes replaces the two macros with a new sock_call() function which
takes a function as a parameter. sock_call() recomputes the timeout, handle
false positive and handle EINTR.
Victor Stinner [Wed, 1 Apr 2015 16:48:58 +0000 (18:48 +0200)]
Issue #23836: Fix the faulthandler module to handle reentrant calls
to its signal handlers.
Use also _Py_write_noraise() instead of write() to retry write() if it is
interrupted by a signal (fail with EINTR).
faulthandler.dump_traceback() also calls PyErr_CheckSignals() to call the
Python signal handler if a signal was received.
Victor Stinner [Wed, 1 Apr 2015 16:38:01 +0000 (18:38 +0200)]
Issue #23836: Use _Py_write_noraise() to retry on EINTR in _Py_DumpTraceback()
and _Py_DumpTracebackThreads(). Document also these functions to explain that
the caller is responsible to call PyErr_CheckSignals().
Victor Stinner [Wed, 1 Apr 2015 16:35:53 +0000 (18:35 +0200)]
Issue #23836: Use _Py_write_noraise() to retry on EINTR in child_exec() of
_posixsubprocess
Victor Stinner [Wed, 1 Apr 2015 16:35:22 +0000 (18:35 +0200)]
Issue #23836: Use _Py_write_noraise() to retry on EINTR in trip_signal() of
signalmodule.c
Victor Stinner [Wed, 1 Apr 2015 16:34:32 +0000 (18:34 +0200)]
Issue #23836: Document functions releasing the GIL in fileutils.c
Victor Stinner [Wed, 1 Apr 2015 16:34:45 +0000 (18:34 +0200)]
Issue #23836: Add _Py_write_noraise() function
Helper to write() which retries write() if it is interrupted by a signal (fails
with EINTR).
Benjamin Peterson [Wed, 1 Apr 2015 16:37:34 +0000 (12:37 -0400)]
merge 3.4
Victor Stinner [Wed, 1 Apr 2015 15:47:07 +0000 (17:47 +0200)]
Issue #22117, issue #23485: Fix _PyTime_AsMilliseconds() and
_PyTime_AsMicroseconds() rounding.
Add also unit tests.
Benjamin Peterson [Wed, 1 Apr 2015 15:16:40 +0000 (11:16 -0400)]
remove assignment in conditional
Raymond Hettinger [Wed, 1 Apr 2015 15:11:09 +0000 (08:11 -0700)]
Check deques against common sequence tests (except for slicing).
Victor Stinner [Wed, 1 Apr 2015 14:32:32 +0000 (16:32 +0200)]
What's New in Python 3.5: mention signal.set_wakeup_fd() enhancement on Windows
Serhiy Storchaka [Wed, 1 Apr 2015 13:58:39 +0000 (16:58 +0300)]
Issue #23821: Fixed test_pdb failure under -O.
Serhiy Storchaka [Wed, 1 Apr 2015 13:58:19 +0000 (16:58 +0300)]
Issue #23821: Fixed test_pdb failure under -O.
Serhiy Storchaka [Wed, 1 Apr 2015 13:56:13 +0000 (16:56 +0300)]
Issue #23838: linecache now clears the cache and returns an empty result on
MemoryError.
Serhiy Storchaka [Wed, 1 Apr 2015 13:54:05 +0000 (16:54 +0300)]
Issue #23838: linecache now clears the cache and returns an empty result on
MemoryError.
R David Murray [Wed, 1 Apr 2015 13:15:02 +0000 (09:15 -0400)]
It wasn't a typo, it is the mnemonic (AT=@).
Serhiy Storchaka [Wed, 1 Apr 2015 10:06:18 +0000 (13:06 +0300)]
Issue #23799: Added test.support.start_threads() for running and cleaning up
multiple threads.
Serhiy Storchaka [Wed, 1 Apr 2015 10:01:14 +0000 (13:01 +0300)]
Issue #23799: Added test.support.start_threads() for running and cleaning up
multiple threads.
Victor Stinner [Wed, 1 Apr 2015 09:09:43 +0000 (11:09 +0200)]
Issue #23618: Fix EINTR handling on Windows
Windows uses WSAEINTR error code, not EINTR, for socket functions.
Benjamin Peterson [Wed, 1 Apr 2015 01:21:09 +0000 (21:21 -0400)]
merge 3.4 (#12855)
Benjamin Peterson [Wed, 1 Apr 2015 01:20:36 +0000 (21:20 -0400)]
document what exactly str.splitlines() splits on (closes #12855)
Patch by Martin Panter.
Victor Stinner [Tue, 31 Mar 2015 20:03:59 +0000 (22:03 +0200)]
Issue #23618: Enhance EINTR handling in socket.connect()
Call PyErr_CheckSignals() immediatly if connect() or select() fails with EINTR
in internal_connect().
Refactor also the code to limit indentaton and make it more readable.
Victor Stinner [Tue, 31 Mar 2015 19:28:42 +0000 (21:28 +0200)]
Issue #23618: Fix EINTR handling in socket.connect()
Call PyErr_CheckSignals() if connect(), select() or getsockopt() failed with
EINTR.
Victor Stinner [Tue, 31 Mar 2015 19:23:10 +0000 (21:23 +0200)]
Issue #23618: Cleanup internal_connect() in socketmodule.c
On Windows, it looks like using the C type socklen_t for getsockopt() (instead
of int) is fine, it was already used in socket.getsockopt().
Raymond Hettinger [Tue, 31 Mar 2015 15:12:23 +0000 (08:12 -0700)]
Issue 23793: Add deque support for __add__(), __mul__(), and __imul__().
Victor Stinner [Tue, 31 Mar 2015 14:35:35 +0000 (16:35 +0200)]
Issue #23618: Refactor internal_connect()
On Windows, internal_connect() now reuses internal_connect_select() and always
calls getsockopt().
Victor Stinner [Tue, 31 Mar 2015 14:08:22 +0000 (16:08 +0200)]
Issue #23618: Refactor internal_connect()
The function now returns the error code instead of using the global errno
(POSIX) or WSAGetLastError() (Windows).
internal_connect() now returns errno if getsockopt() fails.
Victor Stinner [Tue, 31 Mar 2015 14:31:19 +0000 (16:31 +0200)]
Issue #22117: Fix integer overflow check in socket_parse_timeout() on Windows
Serhiy Storchaka [Tue, 31 Mar 2015 13:56:49 +0000 (16:56 +0300)]
Issue #23611: Fixed enums pickling tests. Now all picklings work with all
protocols.
Serhiy Storchaka [Tue, 31 Mar 2015 13:49:48 +0000 (16:49 +0300)]
Issue #18473: Fixed pickle compatibility tests for optional modules.
Added WindowsError to compatibility mappings.
Serhiy Storchaka [Tue, 31 Mar 2015 13:49:26 +0000 (16:49 +0300)]
Issue #18473: Fixed pickle compatibility tests for optional modules.
Added WindowsError to compatibility mappings.
Serhiy Storchaka [Tue, 31 Mar 2015 12:31:53 +0000 (15:31 +0300)]
Issue #10395: Added os.path.commonpath(). Implemented in posixpath and ntpath.
Based on patch by Rafik Draoui.
Victor Stinner [Tue, 31 Mar 2015 12:24:47 +0000 (14:24 +0200)]
Issue #23618: Fix internal_connect_select()
Victor Stinner [Tue, 31 Mar 2015 11:56:29 +0000 (13:56 +0200)]
Issue #23618: internal_connect_select() now waits also for error events
Victor Stinner [Tue, 31 Mar 2015 11:50:44 +0000 (13:50 +0200)]
Issue #23618: Refactor internal_select() to prepare socket.connect() for EINTR
Victor Stinner [Tue, 31 Mar 2015 11:15:31 +0000 (13:15 +0200)]
Issue #23618: Refactor the _socket module
* Inline internal_select() function
* Rename internal_select_ex() internal_select()
Victor Stinner [Tue, 31 Mar 2015 10:19:15 +0000 (12:19 +0200)]
What's New in Python 3.5, PEP 475: mention modified signal functions
Serhiy Storchaka [Tue, 31 Mar 2015 11:07:24 +0000 (14:07 +0300)]
Issue #23611: Serializing more "lookupable" objects (such as unbound methods
or nested classes) now are supported with pickle protocols < 4.
Serhiy Storchaka [Tue, 31 Mar 2015 10:33:11 +0000 (13:33 +0300)]
Issue #13583: sqlite3.Row now supports slice indexing.
Tests by Jessica McKellar.
Serhiy Storchaka [Tue, 31 Mar 2015 10:18:35 +0000 (13:18 +0300)]
Merge heads
Serhiy Storchaka [Tue, 31 Mar 2015 10:17:10 +0000 (13:17 +0300)]
Issue #18473: Fixed 2to3 and 3to2 compatible pickle mappings.
Fixed ambigious reverse mappings. Added many new mappings. Import mapping
is no longer applied to modules already mapped with full name mapping.
Added tests for compatible pickling and unpickling and for consistency of
_compat_pickle mappings.
Serhiy Storchaka [Tue, 31 Mar 2015 10:12:37 +0000 (13:12 +0300)]
Issue #18473: Fixed 2to3 and 3to2 compatible pickle mappings.
Fixed ambigious reverse mappings. Added many new mappings. Import mapping
is no longer applied to modules already mapped with full name mapping.
Added tests for compatible pickling and unpickling and for consistency of
_compat_pickle mappings.
Victor Stinner [Tue, 31 Mar 2015 10:08:09 +0000 (12:08 +0200)]
Issue #23485: Enhance and update selectors doc and test_selectors
Selector.select() is now retried with the recomputed timeout when interrupted
by a signal.
Write an unit test with a signal handler raising an exception, and a unit with
a signal handler which does not raise an exception (it does nothing).
Victor Stinner [Tue, 31 Mar 2015 10:10:33 +0000 (12:10 +0200)]
Issue #23485: select.devpoll.poll() is now retried when interrupted by a signal
Victor Stinner [Tue, 31 Mar 2015 09:48:34 +0000 (11:48 +0200)]
Issue #23485: select.kqueue.control() is now retried when interrupted by a signal
Berker Peksag [Tue, 31 Mar 2015 04:20:03 +0000 (07:20 +0300)]
Fix typo in Doc/whatsnew/3.5.rst.
Raymond Hettinger [Tue, 31 Mar 2015 03:29:55 +0000 (20:29 -0700)]
merge
Raymond Hettinger [Tue, 31 Mar 2015 03:29:28 +0000 (20:29 -0700)]
Issue #23729: Improve docs for ElementTree namespace parsing
Victor Stinner [Mon, 30 Mar 2015 19:59:21 +0000 (21:59 +0200)]
Issue #23485: select.epoll.poll() is now retried when interrupted by a signal
Victor Stinner [Mon, 30 Mar 2015 19:38:00 +0000 (21:38 +0200)]
Issue #23485: select.poll.poll() is now retried when interrupted by a signal
Victor Stinner [Mon, 30 Mar 2015 19:36:10 +0000 (21:36 +0200)]
Issue #23485: Add _PyTime_FromMillisecondsObject() function
Victor Stinner [Mon, 30 Mar 2015 20:09:14 +0000 (22:09 +0200)]
Issue #23485: Fix test_signal, select.select() now retries the syscall if the
signal handler does not raise an exception
Brett Cannon [Mon, 30 Mar 2015 19:35:37 +0000 (15:35 -0400)]
Ignore .rst files in the venv directory.
Victor Stinner [Mon, 30 Mar 2015 19:33:51 +0000 (21:33 +0200)]
PEP 475: on EINTR, retry the function even if the timeout is equals to zero
Retry:
* signal.sigtimedwait()
* threading.Lock.acquire()
* threading.RLock.acquire()
* time.sleep()
Victor Stinner [Mon, 30 Mar 2015 19:16:11 +0000 (21:16 +0200)]
Issue #23485: select.select() is now retried automatically with the recomputed
timeout when interrupted by a signal, except if the signal handler raises an
exception. This change is part of the PEP 475.
The asyncore and selectors module doesn't catch the InterruptedError exception
anymore when calling select.select(), since this function should not raise
InterruptedError anymore.
Serhiy Storchaka [Mon, 30 Mar 2015 19:25:16 +0000 (22:25 +0300)]
Partially revert
3603bae63c13 (issue23326) for asyncio.
R David Murray [Mon, 30 Mar 2015 15:48:50 +0000 (11:48 -0400)]
#2211: Fix typo, address missed review comment.
R David Murray [Mon, 30 Mar 2015 14:15:22 +0000 (10:15 -0400)]
Merge: #23792: also catch interrupt around pipe.write.
R David Murray [Mon, 30 Mar 2015 14:14:47 +0000 (10:14 -0400)]
#23792: also catch interrupt around pipe.write.
The previous patch only dealt with KeyboardInterrupt when all of the
data had been consumed by the pager. This deals with the interrupt
when some data is still pending.
Victor Stinner [Mon, 30 Mar 2015 13:04:45 +0000 (15:04 +0200)]
What's New in Python 3.5: add pep 461 (bytes%args) and 465 (a@b)
Victor Stinner [Mon, 30 Mar 2015 09:54:05 +0000 (11:54 +0200)]
Issue #23605: Fix typo in an os.walk() comment
Thanks Ben Hoyt for the report.
Victor Stinner [Mon, 30 Mar 2015 09:19:07 +0000 (11:19 +0200)]
(Merge 3.4) Issue #22585: os.urandom() now releases the GIL when the
getentropy() is used (OpenBSD 5.6+).