]>
granicus.if.org Git - python/log
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+).
Victor Stinner [Mon, 30 Mar 2015 09:18:30 +0000 (11:18 +0200)]
Issue #22585: os.urandom() now releases the GIL when the getentropy() is used
(OpenBSD 5.6+).
Victor Stinner [Mon, 30 Mar 2015 09:16:40 +0000 (11:16 +0200)]
Issue #22181: os.urandom() now releases the GIL when the getrandom()
implementation is used.
Larry Hastings [Mon, 30 Mar 2015 08:56:27 +0000 (01:56 -0700)]
Fix PY_VERSION in Include/patchlevel.h to reflect our post-3.5.0a3 state.
Larry Hastings [Mon, 30 Mar 2015 08:50:00 +0000 (01:50 -0700)]
Merge 3.5.0a3 release engineering changes back into trunk.
Victor Stinner [Mon, 30 Mar 2015 08:22:16 +0000 (10:22 +0200)]
Issue #22117: Try to fix rounding in conversion from Python double to _PyTime_t
using the C volatile keyword.
Victor Stinner [Mon, 30 Mar 2015 08:09:31 +0000 (10:09 +0200)]
Issue #23752: _Py_fstat() is now responsible to raise the Python exception
Add _Py_fstat_noraise() function when a Python exception is not welcome.
Serhiy Storchaka [Mon, 30 Mar 2015 07:00:40 +0000 (10:00 +0300)]
Issue #23785: Fixed memory leak in TextIOWrapper.tell() in rare circumstances.
Serhiy Storchaka [Mon, 30 Mar 2015 06:58:41 +0000 (09:58 +0300)]
Issue #23785: Fixed memory leak in TextIOWrapper.tell() in rare circumstances.
Serhiy Storchaka [Mon, 30 Mar 2015 06:52:53 +0000 (09:52 +0300)]
Issue #23783: Fixed memory leak in PyObject_ClearWeakRefs() in case of
MemoryError.
Serhiy Storchaka [Mon, 30 Mar 2015 06:52:29 +0000 (09:52 +0300)]
Issue #23783: Fixed memory leak in PyObject_ClearWeakRefs() in case of
MemoryError.
Serhiy Storchaka [Mon, 30 Mar 2015 06:19:08 +0000 (09:19 +0300)]
Issue #23466: %c, %o, %x, and %X in bytes formatting now raise TypeError on
non-integer input.
Serhiy Storchaka [Mon, 30 Mar 2015 06:09:54 +0000 (09:09 +0300)]
Issue #23171: csv.Writer.writerow() now supports arbitrary iterables.
Victor Stinner [Mon, 30 Mar 2015 01:57:14 +0000 (03:57 +0200)]
Issue #22117: Remove _PyTime_ROUND_DOWN and _PyTime_ROUND_UP rounding methods
Use _PyTime_ROUND_FLOOR and _PyTime_ROUND_CEILING instead.
R David Murray [Mon, 30 Mar 2015 01:53:05 +0000 (21:53 -0400)]
#23745: handle duplicate MIME parameter names in new parser.
This mimics get_param's error handling for the most part. It is slightly
better in some regards as get_param can produce some really weird results for
duplicate *0* parts. It departs from get_param slightly in that if we have a
mix of non-extended and extended pieces for the same parameter name, the new
parser assumes they were all supposed to be extended and concatenates all the
values, whereas get_param always picks the non-extended parameter value. All
of this error recovery is pretty much arbitrary decisions...
Victor Stinner [Mon, 30 Mar 2015 01:49:14 +0000 (03:49 +0200)]
Issue #22117: Replace usage of _PyTime_ROUND_UP with _PyTime_ROUND_CEILING
All these functions only accept positive timeouts, so this change has no effect
in practice.
Victor Stinner [Mon, 30 Mar 2015 01:52:49 +0000 (03:52 +0200)]
Issue #22117: Add _PyTime_ROUND_CEILING rounding method for timestamps
Add also more tests for ROUNd_FLOOR.
R David Murray [Mon, 30 Mar 2015 01:54:27 +0000 (21:54 -0400)]
Merge: #23745: handle duplicate MIME parameter names in new parser.
Victor Stinner [Mon, 30 Mar 2015 01:21:06 +0000 (03:21 +0200)]
Issue #23752: When built from an existing file descriptor, io.FileIO() now only
calls fstat() once. Before fstat() was called twice, which was not necessary.
Victor Stinner [Mon, 30 Mar 2015 00:54:57 +0000 (02:54 +0200)]
Issue #22117: Add assertions to _PyTime_AsTimeval() and _PyTime_AsTimespec() to
check that microseconds and nanoseconds fits into the specified range.
Victor Stinner [Mon, 30 Mar 2015 00:51:13 +0000 (02:51 +0200)]
Issue #22117: Fix usage of _PyTime_AsTimeval()
Add _PyTime_AsTimeval_noraise() function. Call it when it's not possible (or
not useful) to raise a Python exception on overflow.
Victor Stinner [Mon, 30 Mar 2015 00:18:31 +0000 (02:18 +0200)]
Issue #23694: Fix usage of _Py_open() in the _posixsubprocess module
Don't call _Py_open() from _close_open_fds_safe() because it is call just after
fork(). It's not good to play with locks (the GIL) between fork() and exec().
Use instead _Py_open_noraise() which doesn't touch to the GIL.
Victor Stinner [Sun, 29 Mar 2015 23:10:14 +0000 (01:10 +0200)]
Issue #22117: Fix rounding of fromtimestamp() methods of datetime.datetime and
datetime.time: round towards minus infinity ("floor") instead of rounding
towards zero ("down").
Victor Stinner [Sun, 29 Mar 2015 23:02:57 +0000 (01:02 +0200)]
Issue #22117: Fix os.utime(), it now rounds the timestamp towards minus
infinity (-inf) instead of rounding towards zero.
Replace _PyTime_ROUND_DOWN with _PyTime_ROUND_FLOOR.
Victor Stinner [Sun, 29 Mar 2015 22:44:06 +0000 (00:44 +0200)]
Issue #22117: Fix rounding and implement _PyTime_ROUND_FLOOR in:
- _PyTime_ObjectToTime_t()
- _PyTime_ObjectToTimespec()
- _PyTime_ObjectToTimeval()
Larry Hastings [Sun, 29 Mar 2015 22:34:44 +0000 (15:34 -0700)]
Added tag v3.5.0a3 for changeset
82656e28b5e5
Larry Hastings [Sun, 29 Mar 2015 22:34:26 +0000 (15:34 -0700)]
Release bump for Python 3.5.0a3.
Larry Hastings [Sun, 29 Mar 2015 22:32:55 +0000 (15:32 -0700)]
Regenerated pydoc topics and minor doc fixes for 3.5.0a3.
Serhiy Storchaka [Sun, 29 Mar 2015 22:28:02 +0000 (01:28 +0300)]
Issue #22390: test.regrtest now emits a warning if temporary files or
directories are left after running a test.
Victor Stinner [Sun, 29 Mar 2015 22:25:38 +0000 (00:25 +0200)]
Issue #22117: Cleanup pytime.c/.h
Victor Stinner [Sun, 29 Mar 2015 22:09:18 +0000 (00:09 +0200)]
Issue #22117: Use the _PyTime_t API in _datetime.datetime() constructor
* Remove _PyTime_gettimeofday()
* Add _PyTime_GetSystemClock()
Serhiy Storchaka [Sun, 29 Mar 2015 22:30:22 +0000 (01:30 +0300)]
Issue #22390: test.regrtest now emits a warning if temporary files or
directories are left after running a test.
Serhiy Storchaka [Sun, 29 Mar 2015 22:01:48 +0000 (01:01 +0300)]
Issue #14260: The groupindex attribute of regular expression pattern object
now is non-modifiable mapping.
R David Murray [Sun, 29 Mar 2015 21:09:21 +0000 (17:09 -0400)]
#2211: properly document the Morsel behavior changes.
Also deprecate the undocumented set argument instead of removing
it already in 3.5.
Initial patch by Demian Brecht.
Benjamin Peterson [Sun, 29 Mar 2015 20:45:19 +0000 (16:45 -0400)]
merge 3.4 (#23801)
Donald Stufft [Sun, 29 Mar 2015 20:43:23 +0000 (16:43 -0400)]
Closes #23801 - Ignore entire preamble to multipart in cgi.FieldStorage
R David Murray [Sun, 29 Mar 2015 19:19:13 +0000 (15:19 -0400)]
Merge: #23792: Ignore KeyboardInterrupt when the pydoc pager is active.
R David Murray [Sun, 29 Mar 2015 19:15:40 +0000 (15:15 -0400)]
#23792: Ignore KeyboardInterrupt when the pydoc pager is active.
Previously, if you hit ctl-c while the pager was active, the python that
launched the subprocess for the pager would see the KeyboardInterrupt in the
__exit__ method of the subprocess context manager where it was waiting for the
subprocess to complete, ending the wait. This would leave the pager running,
while the interactive interpreter, after handling the exception by printing
it, would go back to trying to post a prompt...but the pager would generally
have the terminal in raw mode, and in any case would be still trying to read
from stdin. On some systems, even exiting python at that point would not
restore the terminal mode. The problem with raw mode could also happen if
ctl-C was hit when pydoc was called from the shell command line and the pager
was active.
Instead, we now wait on the subprocess in a loop, ignoring KeyboardInterrupt
just like the pager does, until the pager actually exits.
(Note: this was a regression relative to python2...in python2 the pager
is called via system, and system does not return until the pager exits.)
Serhiy Storchaka [Sun, 29 Mar 2015 16:23:27 +0000 (19:23 +0300)]
Added explicit tests for issue #23803.
Serhiy Storchaka [Sun, 29 Mar 2015 16:21:02 +0000 (19:21 +0300)]
Issue #23803: Fixed str.partition() and str.rpartition() when a separator
is wider then partitioned string.
Serhiy Storchaka [Sun, 29 Mar 2015 16:12:58 +0000 (19:12 +0300)]
Removed unintentional trailing spaces in text files.
Serhiy Storchaka [Sat, 28 Mar 2015 18:39:51 +0000 (20:39 +0200)]
Make some tests more frienly to MemoryError.
Free memory, unlock hanging threads.