Commit Graph

88784 Commits

Author SHA1 Message Date
Victor Stinner c7489a5595 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.
2015-04-01 18:48:58 +02:00
Victor Stinner 97f86b82b7 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().
2015-04-01 18:38:01 +02:00
Victor Stinner 185fd33a17 Issue #23836: Use _Py_write_noraise() to retry on EINTR in child_exec() of
_posixsubprocess
2015-04-01 18:35:53 +02:00
Victor Stinner e72fe3995b Issue #23836: Use _Py_write_noraise() to retry on EINTR in trip_signal() of
signalmodule.c
2015-04-01 18:35:22 +02:00
Victor Stinner 6f4fae8a95 Issue #23836: Document functions releasing the GIL in fileutils.c 2015-04-01 18:34:32 +02:00
Victor Stinner 82c3e4599d Issue #23836: Add _Py_write_noraise() function
Helper to write() which retries write() if it is interrupted by a signal (fails
with EINTR).
2015-04-01 18:34:45 +02:00
Benjamin Peterson 81541f4480 merge 3.4 2015-04-01 12:37:34 -04:00
Victor Stinner 62d1c70eff Issue #22117, issue #23485: Fix _PyTime_AsMilliseconds() and
_PyTime_AsMicroseconds() rounding.

Add also unit tests.
2015-04-01 17:47:07 +02:00
Benjamin Peterson 4fd929b431 remove assignment in conditional 2015-04-01 11:16:40 -04:00
Raymond Hettinger 067bbba7a4 Check deques against common sequence tests (except for slicing). 2015-04-01 08:11:09 -07:00
Victor Stinner bbe3803fb5 What's New in Python 3.5: mention signal.set_wakeup_fd() enhancement on Windows 2015-04-01 16:32:32 +02:00
Serhiy Storchaka c19c3960bb Issue #23821: Fixed test_pdb failure under -O. 2015-04-01 16:58:39 +03:00
Serhiy Storchaka a16de5dbf5 Issue #23821: Fixed test_pdb failure under -O. 2015-04-01 16:58:19 +03:00
Serhiy Storchaka 05ddbf0875 Issue #23838: linecache now clears the cache and returns an empty result on
MemoryError.
2015-04-01 16:56:13 +03:00
Serhiy Storchaka c512adc90d Issue #23838: linecache now clears the cache and returns an empty result on
MemoryError.
2015-04-01 16:54:05 +03:00
R David Murray ef2a397a65 It wasn't a typo, it is the mnemonic (AT=@). 2015-04-01 09:15:02 -04:00
Serhiy Storchaka c05e260ecb Issue #23799: Added test.support.start_threads() for running and cleaning up
multiple threads.
2015-04-01 13:06:18 +03:00
Serhiy Storchaka 263dcd20a3 Issue #23799: Added test.support.start_threads() for running and cleaning up
multiple threads.
2015-04-01 13:01:14 +03:00
Victor Stinner a772662423 Issue #23618: Fix EINTR handling on Windows
Windows uses WSAEINTR error code, not EINTR, for socket functions.
2015-04-01 11:09:43 +02:00
Benjamin Peterson f8521d55ad merge 3.4 (#12855) 2015-03-31 21:21:09 -04:00
Benjamin Peterson 8218bd4caf document what exactly str.splitlines() splits on (closes #12855)
Patch by Martin Panter.
2015-03-31 21:20:36 -04:00
Victor Stinner 70a46f635f 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.
2015-03-31 22:03:59 +02:00
Victor Stinner ee699e9d2b Issue #23618: Fix EINTR handling in socket.connect()
Call PyErr_CheckSignals() if connect(), select() or getsockopt() failed with
EINTR.
2015-03-31 21:28:42 +02:00
Victor Stinner c4e819a54f 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().
2015-03-31 21:23:10 +02:00
Raymond Hettinger 41290a68ba Issue 23793: Add deque support for __add__(), __mul__(), and __imul__(). 2015-03-31 08:12:23 -07:00
Victor Stinner b6c15bcad3 Issue #23618: Refactor internal_connect()
On Windows, internal_connect() now reuses internal_connect_select() and always
calls getsockopt().
2015-03-31 16:35:35 +02:00
Victor Stinner dd88d3db45 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.
2015-03-31 16:08:22 +02:00
Victor Stinner 1bb0aef4d1 Issue #22117: Fix integer overflow check in socket_parse_timeout() on Windows 2015-03-31 16:31:19 +02:00
Serhiy Storchaka e50e780234 Issue #23611: Fixed enums pickling tests. Now all picklings work with all
protocols.
2015-03-31 16:56:49 +03:00
Serhiy Storchaka 5236e318a5 Issue #18473: Fixed pickle compatibility tests for optional modules.
Added WindowsError to compatibility mappings.
2015-03-31 16:49:48 +03:00
Serhiy Storchaka b9100e5d9d Issue #18473: Fixed pickle compatibility tests for optional modules.
Added WindowsError to compatibility mappings.
2015-03-31 16:49:26 +03:00
Serhiy Storchaka 3822093143 Issue #10395: Added os.path.commonpath(). Implemented in posixpath and ntpath.
Based on patch by Rafik Draoui.
2015-03-31 15:31:53 +03:00
Victor Stinner dd83bd2f9c Issue #23618: Fix internal_connect_select() 2015-03-31 14:24:47 +02:00
Victor Stinner 416f2e66ca Issue #23618: internal_connect_select() now waits also for error events 2015-03-31 13:56:29 +02:00
Victor Stinner e6951c6c8a Issue #23618: Refactor internal_select() to prepare socket.connect() for EINTR 2015-03-31 13:50:44 +02:00
Victor Stinner 391fa713f7 Issue #23618: Refactor the _socket module
* Inline internal_select() function
* Rename internal_select_ex() internal_select()
2015-03-31 13:15:31 +02:00
Victor Stinner eb011cb8df What's New in Python 3.5, PEP 475: mention modified signal functions 2015-03-31 12:19:15 +02:00
Serhiy Storchaka 58e4134a1c Issue #23611: Serializing more "lookupable" objects (such as unbound methods
or nested classes) now are supported with pickle protocols < 4.
2015-03-31 14:07:24 +03:00
Serhiy Storchaka 72e731cc03 Issue #13583: sqlite3.Row now supports slice indexing.
Tests by Jessica McKellar.
2015-03-31 13:33:11 +03:00
Serhiy Storchaka 80d84c89ee Merge heads 2015-03-31 13:18:35 +03:00
Serhiy Storchaka d5d818d40b 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.
2015-03-31 13:17:10 +03:00
Serhiy Storchaka bfe1824d08 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.
2015-03-31 13:12:37 +03:00
Victor Stinner b310173319 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).
2015-03-31 12:08:09 +02:00
Victor Stinner 45ca48b03d Issue #23485: select.devpoll.poll() is now retried when interrupted by a signal 2015-03-31 12:10:33 +02:00
Victor Stinner 4448c08451 Issue #23485: select.kqueue.control() is now retried when interrupted by a signal 2015-03-31 11:48:34 +02:00
Berker Peksag b6faf0dfa7 Fix typo in Doc/whatsnew/3.5.rst. 2015-03-31 07:20:03 +03:00
Raymond Hettinger c86f2525c9 merge 2015-03-30 20:29:55 -07:00
Raymond Hettinger c43a666ba2 Issue #23729: Improve docs for ElementTree namespace parsing 2015-03-30 20:29:28 -07:00
Victor Stinner 41eba224de Issue #23485: select.epoll.poll() is now retried when interrupted by a signal 2015-03-30 21:59:21 +02:00
Victor Stinner 3c7d6e0693 Issue #23485: select.poll.poll() is now retried when interrupted by a signal 2015-03-30 21:38:00 +02:00