Commit graph

85961 commits

Author SHA1 Message Date
Victor Stinner
56e8c29a4e Issue #22018: Add _testcapi.raise_signal()
- Use _testcapi.raise_signal() in test_signal
- close also os.pipe() file descriptors in some test_signal tests where they
  were not closed properly
- Remove faulthandler._sigill() and faulthandler._sigbus(): reuse
  _testcapi.raise_signal() in test_faulthandler
2014-07-21 12:30:22 +02:00
Raymond Hettinger
569a7fa13a merge 2014-07-20 21:31:35 -07:00
Raymond Hettinger
854e76effa Issue #21868: Prevent turtle crash due to invalid undo buffer size. 2014-07-20 21:30:32 -07:00
Benjamin Peterson
7e9522fadf merge 3.4 2014-07-20 13:06:19 -07:00
Benjamin Peterson
01963e6ae9 add # 2014-07-20 13:05:01 -07:00
Benjamin Peterson
0172b115db merge 3.4 (#17210) 2014-07-19 16:35:08 -07:00
Benjamin Peterson
102488b644 args doesn't need to be a tuple (closes #17210) 2014-07-19 16:34:33 -07:00
Mark Dickinson
866bbf1cf5 Issue #22006: Merge from 3.4. 2014-07-19 21:45:24 +01:00
Mark Dickinson
e004c6cad5 Issue #22006: Remove outdated _thread caveat. Thanks Dan O'Reilly for the report. 2014-07-19 21:45:06 +01:00
Zachary Ware
efe030c609 Closes #22004: Merge with 3.4 2014-07-18 09:14:55 -05:00
Zachary Ware
0069eac0e5 Issue #22004: Correct an argument name. 2014-07-18 09:11:48 -05:00
Victor Stinner
457b9a689b (Merge 3.4) Fix asyncio.__all__: export also unix_events and windows_events
symbols

For example, on Windows, it was not possible to get ProactorEventLoop or
DefaultEventLoopPolicy using "from asyncio import *".
2014-07-18 12:47:14 +02:00
Victor Stinner
be0a2d767c Fix asyncio.__all__: export also unix_events and windows_events symbols
For example, on Windows, it was not possible to get ProactorEventLoop or
DefaultEventLoopPolicy using "from asyncio import *".
2014-07-18 12:44:25 +02:00
Victor Stinner
75dada6af3 (Merge 3.4) Issue #21247: Fix a race condition in test_send_signal() of asyncio
Add a basic synchronization mechanism to wait until the child process is ready
before sending it a signal.
2014-07-17 23:49:40 +02:00
Victor Stinner
98fa332e33 Issue #21247: Fix a race condition in test_send_signal() of asyncio
Add a basic synchronization mechanism to wait until the child process is ready
before sending it a signal.
2014-07-17 23:49:11 +02:00
Victor Stinner
2fa2c3dfc5 (Merge 3.4) Python issue #21645, Tulip issue 192: Rewrite signal handling
Since Python 3.3, the C signal handler writes the signal number into the wakeup
file descriptor and then schedules the Python call using Py_AddPendingCall().

asyncio uses the wakeup file descriptor to wake up the event loop, and relies
on Py_AddPendingCall() to schedule the final callback with call_soon().

If the C signal handler is called in a thread different than the thread of the
event loop, the loop is awaken but Py_AddPendingCall() was not called yet. In
this case, the event loop has nothing to do and go to sleep again.
Py_AddPendingCall() is called while the event loop is sleeping again and so the
final callback is not scheduled immediatly.

This patch changes how asyncio handles signals. Instead of relying on
Py_AddPendingCall() and the wakeup file descriptor, asyncio now only relies on
the wakeup file descriptor. asyncio reads signal numbers from the wakeup file
descriptor to call its signal handler.
2014-07-17 22:45:42 +02:00
Victor Stinner
fe5649c7b7 Python issue #21645, Tulip issue 192: Rewrite signal handling
Since Python 3.3, the C signal handler writes the signal number into the wakeup
file descriptor and then schedules the Python call using Py_AddPendingCall().

asyncio uses the wakeup file descriptor to wake up the event loop, and relies
on Py_AddPendingCall() to schedule the final callback with call_soon().

If the C signal handler is called in a thread different than the thread of the
event loop, the loop is awaken but Py_AddPendingCall() was not called yet. In
this case, the event loop has nothing to do and go to sleep again.
Py_AddPendingCall() is called while the event loop is sleeping again and so the
final callback is not scheduled immediatly.

This patch changes how asyncio handles signals. Instead of relying on
Py_AddPendingCall() and the wakeup file descriptor, asyncio now only relies on
the wakeup file descriptor. asyncio reads signal numbers from the wakeup file
descriptor to call its signal handler.
2014-07-17 22:43:40 +02:00
Victor Stinner
dc2539f957 (Merge 3.4) asyncio: Fix test_stdin_broken_pipe(), drain() can also raise
ConnectionResetError
2014-07-17 14:01:39 +02:00
Victor Stinner
ddc8c8db1c asyncio: Fix test_stdin_broken_pipe(), drain() can also raise
ConnectionResetError
2014-07-17 14:01:14 +02:00
Victor Stinner
edfdf54790 (Merge 3.4) asyncio, tulip issue 190: Process.communicate() now ignores
ConnectionResetError too
2014-07-17 13:12:20 +02:00
Victor Stinner
d55b54d5c0 asyncio, tulip issue 190: Process.communicate() now ignores
ConnectionResetError too
2014-07-17 13:12:03 +02:00
Victor Stinner
0d35741b16 (Merge 3.4) asyncio, tulip issue 190: Process.communicate() must ignore
BrokenPipeError

If you want to handle the BrokenPipeError, you can easily reimplement
communicate().

Add also a unit test to ensure that stdin.write() + stdin.drain() raises
BrokenPipeError.
2014-07-17 12:48:33 +02:00
Victor Stinner
cc996b5789 asyncio, tulip issue 190: Process.communicate() must ignore BrokenPipeError
If you want to handle the BrokenPipeError, you can easily reimplement
communicate().

Add also a unit test to ensure that stdin.write() + stdin.drain() raises
BrokenPipeError.
2014-07-17 12:25:27 +02:00
Berker Peksag
68f411670e Issue #21994: Merge with 3.4. 2014-07-17 05:02:02 +03:00
Berker Peksag
38bf87c7f2 Issue #21994: Fix SyntaxError in the SSLContext.check_hostname documentation. 2014-07-17 05:00:36 +03:00
Serhiy Storchaka
a98faefd68 Issue 21044: tarfile.open() now handles fileobj with an integer 'name'
attribute.  Based on patch by Martin Panter.
2014-07-17 00:00:26 +03:00
Serhiy Storchaka
2c6a3aedeb Issue 21044: tarfile.open() now handles fileobj with an integer 'name'
attribute.  Based on patch by Martin Panter.
2014-07-16 23:58:58 +03:00
Zachary Ware
05d7d15626 Merge with 3.4 2014-07-16 14:49:05 -05:00
Zachary Ware
8faecbfb42 Fix a minor typo in the turtle docs. Found by Brandon Passmore on docs@. 2014-07-16 14:48:48 -05:00
Zachary Ware
3481e21e98 Issue #21918: Convert test_tools.py to a sub-package of test.
Merge with 3.4.
2014-07-16 14:31:51 -05:00
Zachary Ware
2b0a610297 Issue #21918: Convert test_tools.py to a sub-package of test. 2014-07-16 14:26:09 -05:00
Zachary Ware
51af1deb32 Merge removal of Tools/scripts/pydocgui.pyw 2014-07-16 13:30:27 -05:00
Zachary Ware
52b2bc0369 Remove Tools/scripts/pydocgui.pyw.
pydoc.gui was removed over 3 years ago (#10818), this script has been
utterly bereft of worth since then.
2014-07-16 13:24:55 -05:00
Victor Stinner
c3fcf4b360 (Merge 3.4) asyncio: test_as_completed(): disable "slow callback" warning 2014-07-16 18:54:25 +02:00
Victor Stinner
accef5ce36 asyncio: test_as_completed(): disable "slow callback" warning 2014-07-16 18:54:13 +02:00
Victor Stinner
f85581f6e5 (Merge 3.4) Issue #21163: Fix "destroy pending task" warning in test_wait_errors() 2014-07-16 18:50:54 +02:00
Victor Stinner
e931f7b768 Issue #21163: Fix "destroy pending task" warning in test_wait_errors() 2014-07-16 18:50:39 +02:00
Victor Stinner
845212af41 (Merge 3.4) Issue #21163, asyncio: Ignore "destroy pending task" warnings for
private tasks in gather().
2014-07-16 18:36:58 +02:00
Victor Stinner
f03b3c7564 Issue #21163, asyncio: Ignore "destroy pending task" warnings for private tasks
in gather().
2014-07-16 18:36:24 +02:00
Victor Stinner
72f8e256f6 (Merge 3.4) asyncio: test_selector_events: remove duplicate call to
_on_handshake() method

The _SelectorSslTransport constructor already calls it.
2014-07-16 18:03:26 +02:00
Victor Stinner
1314f06293 asyncio: test_selector_events: remove duplicate call to _on_handshake() method
The _SelectorSslTransport constructor already calls it.
2014-07-16 18:02:10 +02:00
Tal Einat
985e8d8fb3 Fixed recently added Misc/NEWS entry which was moved during merge 2014-07-16 16:52:20 +03:00
Tal Einat
2e4394ee0d Issue #21765: Add support for non-ascii identifiers to HyperParser 2014-07-16 16:41:14 +03:00
Tal Einat
9b7f9e6c5a Issue #21765: Add support for non-ascii identifiers to HyperParser 2014-07-16 16:33:36 +03:00
Victor Stinner
b5cace8980 Issue #21645, #21985: Remove debug code 2014-07-16 10:24:27 +02:00
Guido van Rossum
e82881cea7 Fix getargspec() doctring (varkw -> keywords). 2014-07-15 12:29:11 -07:00
Serhiy Storchaka
992334127e Issue #18974: Tools/scripts/diff.py now uses argparse instead of optparse. 2014-07-15 13:23:58 +03:00
Terry Jan Reedy
24fb2d4012 Merge with 3.4 2014-07-14 23:07:47 -04:00
Terry Jan Reedy
cfa8950aab Issue #21982: Add minimal unittest for configDialog with 46% coverage.
Fix regression that this test would have caught.
2014-07-14 23:07:32 -04:00
Victor Stinner
bbbf45b08d Merge with Python 3.4 2014-07-14 22:26:57 +02:00