Neil Aspinall
f7686c1f55
bpo-29970: Add timeout for SSL handshake in asyncio
...
10 seconds by default.
2017-12-19 21:45:42 +02:00
Julien Duponchelle
319c0345cd
bpo-29711: Fix stop_serving in proactor loop kill all listening servers ( #431 )
2017-12-19 07:23:17 -05:00
Yury Selivanov
a9d7e552c7
bpo-32357: Optimize asyncio.iscoroutine() for non-native coroutines ( #4915 )
2017-12-19 07:18:45 -05:00
Andrew Svetlov
21be85f520
Improve test coverage ( #4924 )
2017-12-19 08:51:16 +02:00
Yury Selivanov
d757aaf9dd
bpo-32356: idempotent pause_/resume_reading; new is_reading method. ( #4914 )
2017-12-18 17:03:23 -05:00
Yury Selivanov
1b7c11ff0e
bpo-32348: Optimize asyncio.Future schedule/add/remove callback. ( #4907 )
2017-12-17 20:19:47 -05:00
Andrew Svetlov
44d1a5912e
bpo-32250: Implement asyncio.current_task() and asyncio.all_tasks() ( #4799 )
2017-12-16 21:58:38 +02:00
Yury Selivanov
e796b2fe26
bpo-27456: Ensure TCP_NODELAY is set on linux ( #4231 )
2017-12-15 19:32:25 -05:00
Andrew Svetlov
f74ef458ab
bpo-32311: Implement asyncio.create_task() shortcut ( #4848 )
...
* Implement functionality
* Add documentation
2017-12-15 07:04:38 +02:00
Yury Selivanov
19a44f63c7
bpo-32327: Convert asyncio functions documented as coroutines to coroutines. ( #4872 )
2017-12-14 20:53:26 -05:00
Yury Selivanov
02a0a19206
bpo-32314: Implement asyncio.run() ( #4852 )
2017-12-14 09:42:21 -05:00
Yury Selivanov
bfbf04ef18
bpo-32296: Unbreak tests on Windows ( #4850 )
2017-12-13 17:28:41 -05:00
Yury Selivanov
a70232f288
bpo-32296: Implement asyncio.get_event_loop and _get_running_loop in C. ( #4827 )
...
asyncio.get_event_loop(), and, subsequently asyncio._get_running_loop()
are one of the most frequently executed functions in asyncio. They also
can't be sped up by third-party event loops like uvloop.
When implemented in C they become 4x faster.
2017-12-13 14:49:42 -05:00
Andrew Svetlov
7a6706bf48
Fix couple typos ( #4839 )
2017-12-13 17:50:16 +02:00
Victor Stinner
721e25c653
bpo-32101: Fix tests for PYTHONDEVMODE=1 ( #4821 )
...
test_asycio: remove also aio_path which was used when asyncio was
developed outside the stdlib.
2017-12-12 23:15:00 +01:00
Yury Selivanov
abae67ebc2
Add asyncio.get_running_loop() function. ( #4782 )
2017-12-11 10:07:44 -05:00
Yury Selivanov
3e9751819a
bpo-32273: Move asyncio.test_utils to test.test_asyncio ( #4785 )
2017-12-11 10:04:40 -05:00
Yury Selivanov
6370f345e1
bpo-32262: Fix codestyle; use f-strings formatting where necessary. ( #4775 )
2017-12-10 18:36:12 -05:00
Yury Selivanov
c4d9df5fd7
Skip test_read_pty_output test on macOS for poll and select. ( #4774 )
...
Starting with 10.13.2 the test hangs forever.
2017-12-10 12:40:19 -05:00
Andrew Svetlov
28d8d14013
bpo-32253: Deprecate with statement and bare await for asyncio locks (GH-4764)
...
* Add test for 'with (yield from lock)'
* Deprecate with statement for asyncio locks
* Document the deprecation
2017-12-09 20:00:05 +02:00
Andrew Svetlov
5f841b5538
bpo-32193: Convert asyncio to async/await usage ( #4753 )
...
* Convert asyncio/tasks.py to async/await
* Convert asyncio/queues.py to async/await
* Convert asyncio/test_utils.py to async/await
* Convert asyncio/base_subprocess.py to async/await
* Convert asyncio/subprocess.py to async/await
* Convert asyncio/streams.py to async/await
* Fix comments
* Convert asyncio/locks.py to async/await
* Convert asyncio.sleep to async def
* Add a comment
* Add missing news
* Convert stubs from AbstrctEventLoop to async functions
* Convert subprocess_shell/subprocess_exec
* Convert connect_read_pipe/connect_write_pip to async/await syntax
* Convert create_datagram_endpoint
* Convert create_unix_server/create_unix_connection
* Get rid of old style coroutines in unix_events.py
* Convert selector_events.py to async/await
* Convert wait_closed and create_connection
* Drop redundant line
* Convert base_events.py
* Code cleanup
* Drop redundant comments
* Fix indentation
* Add explicit tests for compatibility between old and new coroutines
* Convert windows event loop to use async/await
* Fix double awaiting of async function
* Convert asyncio/locks.py
* Improve docstring
* Convert tests to async/await
* Convert more tests
* Convert more tests
* Convert more tests
* Convert tests
* Improve test
2017-12-09 00:23:48 +02:00
Andrew Svetlov
cc83920ad2
bpo-32166: Drop Python 3.4 code from asyncio ( #4612 )
...
* Drop Python 3.4 code from asyncio
* Fix notes
* Add missing imports
* Restore comment
* Resort imports
* Drop Python 3.4-3.5 specific code
* Drop redunant check
* Fix tests
* Restore _COROUTINE_TYPES order
* Remove useless code
2017-11-29 18:23:43 +02:00
Victor Stinner
ac577d7d0b
bpo-32154: Remove asyncio.windows_utils.socketpair ( #4609 )
2017-11-28 21:33:20 +01:00
Victor Stinner
4271dfd781
bpo-32154: Remove asyncio.selectors ( #4605 )
...
* Remove asyncio.selectors and asyncio._overlapped symbols from the
namespace of the asyncio module
* Replace "from asyncio import selectors" with "import selectors"
* Replace "from asyncio import _overlapped" with "import _overlapped"
asyncio.selectors was added to support Python 3.3, which doesn't have
selectors in its standard library, and Python 3.4 in the same code
base. Same rationale for asyncio._overlapped. Python 3.3 reached its
end of life, and asyncio is no more maintained as a third party
module on PyPI.
2017-11-28 15:19:56 +01:00
Victor Stinner
a10dc3efcb
asyncio: use directly socket.socketpair() ( #4597 )
...
Since Python 3.5, socket.socketpair() is also available on Windows,
and so can be used directly, rather than using
asyncio.windows_utils.socketpair().
2017-11-28 11:15:26 +01:00
Victor Stinner
92f9339a58
asyncio: Fix BaseSelectorEventLoopTests ( #4595 )
...
Currently, two tests fail with PYTHONASYNCIODEBUG=1 (or using -X
dev).
2017-11-28 00:35:55 +01:00
xdegaye
a6fba9b827
bpo-32126: Skip asyncio test when sem_open() is not functional (GH-4559)
2017-11-26 10:31:44 +01:00
xdegaye
5742f674f7
bpo-28684: Remove useless import added by the previous commit (GH-4547)
2017-11-24 18:56:22 +01:00
xdegaye
0f86cd38f4
bpo-28684: asyncio tests handle PermissionError raised on binding unix sockets (GH-4503)
...
The test.support.skip_unless_bind_unix_socket() decorator is used to skip
asyncio tests that fail because the platform lacks a functional bind()
function for unix domain sockets (as it is the case for non root users on the
recent Android versions that run now SELinux in enforcing mode).
2017-11-24 17:35:55 +01:00
Yury Selivanov
423fd362f8
bpo-32066: Support pathlib.Path in create_unix_connection; sock arg should be optional ( #4447 )
2017-11-20 17:26:28 -05:00
Victor Stinner
44862df2ee
bpo-32047: -X dev enables asyncio debug mode ( #4418 )
...
The new -X dev command line option now also enables asyncio debug
mode.
2017-11-20 07:14:07 -08:00
Andrew Svetlov
51d546ae4d
bpo-32069: Drop legacy SSL transport ( #4451 )
...
* Drop legacy SSL transport
* Drop unused import
* Fix Windows tests
* Drop never executed on Python 3.4+ code
2017-11-18 18:54:05 +02:00
Yury Selivanov
43605e6bfa
bpo-32034: Make IncompleteReadError & LimitOverrunError pickleable #4409
2017-11-15 17:14:28 -05:00
Andrey Egorov
e1d62e0b7c
bpo-32015: Asyncio looping during simultaneously socket read/write an… ( #4386 )
...
* bpo-32015: Asyncio cycling during simultaneously socket read/write and reconnection
* Tests fix
* Tests fix
* News add
* Add new unit tests
2017-11-14 11:18:59 +02:00
Yury Selivanov
ce12629c84
bpo-28369: Enhance transport socket check in add_reader/writer ( #4365 )
2017-11-13 13:38:22 -05:00
Yury Selivanov
4652bf2acc
Rewrite asyncio test to be more meaningful ( #4363 )
2017-11-10 15:34:17 -05:00
Suren Nihalani
c62f0cb3b1
bpo-31620: have asyncio/queues not leak memory when you've exceptions during waiting ( #3813 )
2017-11-07 20:35:23 +03:00
Antoine Pitrou
921e9432a1
bpo-31970: Reduce performance overhead of asyncio debug mode. ( #4314 )
...
* bpo-31970: Reduce performance overhead of asyncio debug mode.
2017-11-07 17:23:29 +01:00
Marat Sharafutdinov
69cfed1cd7
Add asyncio.Handle.cancelled() method ( #2388 )
2017-11-07 12:06:05 +03:00
jimmylai
d1e34031f6
[asyncio] bpo-30423: add regression test for orphan future causes "RuntimeError: Event loop stopped before Future completed." ( #3295 )
...
* call remove_done_callback in finally section
* [asyncio] bpo-30423 bug: add regression test for orphan future causes "RuntimeError: Event loop stopped before Future completed."
2017-11-01 15:54:45 +02:00
Quentin Dawans
fe4ea9cf1e
bpo-31245: Asyncio unix socket datagram ( #3164 )
2017-10-30 09:43:02 -04:00
Antoine Pitrou
525f40d231
bpo-31819: Add AbstractEventLoop.sock_recv_into() ( #4051 )
...
* bpo-31819: Add AbstractEventLoop.sock_recv_into()
* Add NEWS
* Add doc
2017-10-19 15:46:40 -04:00
jlacoline
ea2ef5d0ca
bpo-31632: fix set_protocol() in _SSLProtocolTransport ( #3817 ) ( #3817 )
2017-10-19 13:49:57 -04:00
Jelle Zijlstra
ac317700ce
bpo-30406: Make async and await proper keywords ( #1669 )
...
Per PEP 492, 'async' and 'await' should become proper keywords in 3.7.
2017-10-05 23:24:46 -04:00
Victor K
4d07189788
bpo-31556: asyncio.wait_for can cancel futures faster with timeout <= 0 ( #3703 )
2017-10-05 12:04:39 -04:00
Christian Heimes
a170fa162d
bpo-31346: Use PROTOCOL_TLS_CLIENT/SERVER ( #3058 )
...
Replaces PROTOCOL_TLSv* and PROTOCOL_SSLv23 with PROTOCOL_TLS_CLIENT and
PROTOCOL_TLS_SERVER.
Signed-off-by: Christian Heimes <christian@python.org>
2017-09-15 20:27:30 +02:00
Victor Stinner
b9b69003d9
bpo-31234: Add support.join_thread() helper ( #3587 )
...
join_thread() joins a thread but raises an AssertionError if the
thread is still alive after timeout seconds.
2017-09-14 14:40:56 -07:00
Antoine Pitrou
a6a4dc816d
bpo-31370: Remove support for threads-less builds ( #3385 )
...
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Serhiy Storchaka
bca4939d80
bpo-31185: Fixed miscellaneous errors in asyncio speedup module. ( #3076 )
2017-09-03 08:10:14 +03:00
Victor Stinner
e8a533fbc7
bpo-31250, test_asyncio: fix EventLoopTestsMixin.tearDown() ( #3264 )
...
Call doCleanups() to close the loop after calling
executor.shutdown(wait=True): see TestCase.set_event_loop() of
asyncio.test_utils.
Replace also gc.collect() with support.gc_collect().
2017-09-02 00:25:39 +02:00