Andrew Svetlov
3d4dbd8f01
Implement TimerHandle.when() ( #5473 )
2018-02-01 19:59:32 +02:00
Yury Selivanov
07627e9a6a
bpo-32251: Fix docs ( #5408 )
2018-01-28 23:51:08 -05:00
Yury Selivanov
631fd38dbf
bpo-32251: Implement asyncio.BufferedProtocol. ( #4755 )
2018-01-28 16:30:26 -05:00
Yury Selivanov
bec2372b7e
bpo-32327: Revert loop.run_in_executor behaviour: return a Future. ( #5392 )
...
I've run some tests on 3.7 asyncio and it appears that too many
things assume that run_in_executor returns a Future.
2018-01-28 14:09:40 -05:00
Yury Selivanov
2a2247ce5e
bpo-32622: Normalize ENOTCONN to ConnectionError on macOS (GH-5369)
...
On mac, sendfile throws ENOTCONN on a repeated sendfile call if
the connection is closed. Normalize it to behave like other systems.
2018-01-27 17:22:01 -05:00
Yury Selivanov
b1a6ac4c40
bpo-32622: Enforce sendfile fallback policy for FALLBACK transports ( #5364 )
2018-01-27 15:52:52 -05:00
Andrew Svetlov
7c684073f9
bpo-32622: Implement loop.sendfile() ( #5271 )
2018-01-27 21:22:47 +02:00
Christian Heimes
61d478c71c
bpo-31399: Let OpenSSL verify hostname and IP address ( #3462 )
...
bpo-31399: Let OpenSSL verify hostname and IP
The ssl module now uses OpenSSL's X509_VERIFY_PARAM_set1_host() and
X509_VERIFY_PARAM_set1_ip() API to verify hostname and IP addresses.
* Remove match_hostname calls
* Check for libssl with set1_host, libssl must provide X509_VERIFY_PARAM_set1_host()
* Add documentation for OpenSSL 1.0.2 requirement
* Don't support OpenSSL special mode with a leading dot, e.g. ".example.org" matches "www.example.org". It's not standard conform.
* Add hostname_checks_common_name
Signed-off-by: Christian Heimes <christian@python.org>
2018-01-27 15:51:38 +01:00
José Melero Fernández
c47dacb690
bpo-32574: Fix leaks in asyncio.Queue.put() and .get() ( #5208 )
2018-01-25 18:45:43 -05:00
Yury Selivanov
c9070d03f5
bpo-32662: Implement Server.start_serving() and Server.serve_forever() ( #5312 )
...
* bpo-32662: Implement Server.start_serving() and Server.serve_forever()
New methods:
* Server.start_serving(),
* Server.serve_forever(), and
* Server.is_serving().
Add 'start_serving' keyword parameter to loop.create_server() and
loop.create_unix_server().
2018-01-25 18:08:09 -05:00
Andrew Svetlov
fe133aad52
bpo-32391: Implement StreamWriter.wait_closed() ( #5281 )
2018-01-25 00:30:30 +02:00
Nathaniel J. Smith
fb5a7ad421
bpo-32636: Fix @asyncio.coroutine debug mode bug exposed by gh-5250 ( #5291 )
2018-01-24 15:14:33 -05:00
Yury Selivanov
22feeb88b4
bpo-32643: Drop support for a few private Task and Future APIs. ( #5293 )
...
Specifically, it's not possible to subclass Task/Future classes
and override the following methods:
* Future._schedule_callbacks
* Task._step
* Task._wakeup
2018-01-24 11:31:01 -05:00
Yury Selivanov
f23746a934
bpo-32436: Implement PEP 567 ( #5027 )
2018-01-22 19:11:18 -05:00
Yury Selivanov
a4afcdfa55
bpo-32314: Fix asyncio.run() to cancel runinng tasks on shutdown ( #5262 )
2018-01-21 14:56:59 -05:00
Nathaniel J. Smith
fc2f407829
bpo-32591: Add native coroutine origin tracking ( #5250 )
...
* Add coro.cr_origin and sys.set_coroutine_origin_tracking_depth
* Use coroutine origin information in the unawaited coroutine warning
* Stop using set_coroutine_wrapper in asyncio debug mode
* In BaseEventLoop.set_debug, enable debugging in the correct thread
2018-01-21 09:44:07 -05:00
Andrew Svetlov
7464e87a65
bpo-32410: Make SendfileNotAvailableError exception public ( #5243 )
2018-01-19 20:04:29 +02:00
Andrew Svetlov
6b5a27975a
bpo-32410: Implement loop.sock_sendfile() ( #4976 )
2018-01-16 19:59:34 +02:00
Andrew Svetlov
ffcb4c0165
bpo-32418: Postfix, raise NotImplementdError and close resources in tests ( #5052 )
2017-12-30 18:52:56 +02:00
Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి)
1634fc289a
bpo-32418: Add get_loop() method on Server, AbstractServer classes ( #4997 )
...
* Add abstract get_loop() method to Server, AbstractServer classes.
* Add test cases for get_loop() method in Server, AbstractServer classes
* Add documentation for get_loop() method
2017-12-30 17:09:32 +02:00
Yury Selivanov
f111b3dcb4
bpo-23749: Implement loop.start_tls() ( #5039 )
2017-12-30 00:35:36 -05:00
Andrew Svetlov
a8f4e15f3d
bpo-26133: Fix typos ( #5010 )
...
* Fix typos
* Change warning text
* Add test
2017-12-26 11:53:38 +02:00
Yury Selivanov
e0aef4f3cd
bpo-31721: Allow Future._log_traceback to only be set to False ( #5009 )
2017-12-25 16:16:10 -05:00
Yury Selivanov
0cf16f9ea0
bpo-32363: Disable Task.set_exception() and Task.set_result() ( #4923 )
2017-12-25 10:48:15 -05:00
Andrew Svetlov
4f146f9ed1
bpo-26133: Clear signals list on interpreter finalizing ( #5002 )
2017-12-24 13:50:03 +02:00
Yury Selivanov
ca9b36cd1a
bpo-32415: Add asyncio.Task.get_loop() and Future.get_loop() ( #4992 )
2017-12-23 15:04:15 -05:00
Andrew Svetlov
4a02543cf9
bpo-26133: Dont unsubscribe signals in UNIX even loop on interpreter shutdown ( #4956 )
2017-12-21 17:06:46 +02:00
Andrew Svetlov
51eb1c6b9c
bpo-29970: Make ssh_handshake_timeout None by default ( #4939 )
...
* Make ssh_handshake_timeout None by default.
* Raise ValueError if ssl_handshake_timeout is used without ssl.
* Raise ValueError if ssl_handshake_timeout is not positive.
2017-12-20 20:24:43 +02:00
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
36c2c04478
bpo-32355: Optimize asyncio.gather() ( #4913 )
2017-12-19 07:19:53 -05:00
Yury Selivanov
a9d7e552c7
bpo-32357: Optimize asyncio.iscoroutine() for non-native coroutines ( #4915 )
2017-12-19 07:18:45 -05:00
Yury Selivanov
a7bd64c0c0
bpo-27456: Simplify sock type checks ( #4922 )
...
Recent sock.type fix (see bug 32331) makes sock.type checks simpler
in asyncio.
2017-12-19 06:44:37 -05:00
Yury Selivanov
d757aaf9dd
bpo-32356: idempotent pause_/resume_reading; new is_reading method. ( #4914 )
2017-12-18 17:03:23 -05:00
Andrew Svetlov
5382c05021
bpo-32351: Use fastpath in asyncio.sleep if delay<0 ( #4908 )
...
* Use fastpath in asyncio.sleep if delay<0
* Add NEWS entry
2017-12-17 16:41:30 +02: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
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
Andrew Svetlov
8874342cf3
bpo-32258: Replace 'yield from' to 'await' in asyncio docs ( #4779 )
...
* Replace 'yield from' to 'await' in asyncio docs
* Fix docstrings
2017-12-11 17:35:49 +02: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
9edad3c701
bpo-32272: Remove asyncio.async() function. ( #4784 )
2017-12-11 10:03:48 -05:00
Yury Selivanov
19d0d54809
bpo-32262: Fix f-string ( #4787 )
2017-12-10 19:52:53 -05:00
Yury Selivanov
6370f345e1
bpo-32262: Fix codestyle; use f-strings formatting where necessary. ( #4775 )
2017-12-10 18:36:12 -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
John Chen
8f5c28b193
Fix asyncio.streams.FlowControlMixin docstring typo. ( #4578 )
2017-12-01 14:33:40 +02:00
Victor Stinner
5e3806f8cf
bpo-32101: Add PYTHONDEVMODE environment variable ( #4624 )
...
* bpo-32101: Add sys.flags.dev_mode flag
Rename also the "Developer mode" to the "Development mode".
* bpo-32101: Add PYTHONDEVMODE environment variable
Mention it in the development chapiter.
2017-11-30 11:40:24 +01: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
3f438a9fa0
asyncio: Remove asyncio/compat.py ( #4606 )
...
The asyncio/compat.py file was written to support Python < 3.5 and
Python < 3.5.2. But Python 3.5 doesn't accept bugfixes anymore, only
security fixes. There is no more need to backport bugfixes to Python
3.5, and so no need to have a single code base for Python 3.5, 3.6
and 3.7.
Say hello (again) to "async" and "await", who became real keywords in
Python 3.7 ;-)
2017-11-28 14:43:52 +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
c16bacec3c
asyncio: Remove unused Future._tb_logger attribute ( #4596 )
...
It was only used on Python 3.3, now only Future._log_traceback is
used.
2017-11-28 00:35:33 +01:00
Victor Stinner
28e61650b2
bpo-31245: asyncio: Fix typo, isistance => isinstance ( #4594 )
2017-11-28 00:34:08 +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
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
Barry Warsaw
c060c7e3d1
Fix a typo ( #4323 )
2017-11-07 09:05:15 -08: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
Antoine Pitrou
22b1128559
bpo-31960: Fix asyncio.Future documentation for thread (un)safety. ( #4319 )
2017-11-07 17:03:28 +01:00
Marat Sharafutdinov
69cfed1cd7
Add asyncio.Handle.cancelled() method ( #2388 )
2017-11-07 12:06:05 +03: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
Yury Selivanov
faa135acbf
bpo-31709: Drop support for asynchronous __aiter__. ( #3903 )
2017-10-06 02:08:57 -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
jimmylai
80bbe6a7b6
bpo-31350: Optimize get_event_loop and _get_running_loop ( #3347 )
...
* call remove_done_callback in finally section
* Optimize get_event_loop and _get_running_loop
* rename _loop_pid as loop_pid and add blurb news
* rename _loop_pid as loop_pid and add blurb news
* add back _RunningLoop
* Update 2017-09-05-10-30-48.bpo-31350.dXJ-7N.rst
* Update 2017-09-05-10-30-48.bpo-31350.dXJ-7N.rst
2017-09-05 20:36:59 -04:00
Victor Stinner
16432beadb
bpo-31250, test_asyncio: fix dangling threads ( #3252 )
...
* Explicitly call shutdown(wait=True) on executors to wait until all
threads complete to prevent side effects between tests.
* Fix test_loop_self_reading_exception(): don't mock loop.close().
Previously, the original close() method was called rather than the
mock, because how set_event_loop() registered loop.close().
2017-09-01 14:46:06 +02:00
Victor Stinner
b903067462
bpo-30280: Cleanup threads in ayncio tests ( #2501 )
...
* bpo-30280: asyncio now cleans up threads
asyncio base TestCase now uses threading_setup() and
threading_cleanup() of test.support to cleanup threads.
* asyncio: Fix TestBaseSelectorEventLoop cleanup
bpo-30280: TestBaseSelectorEventLoop of
test.test_asyncio.test_selector_events now correctly closes the event
loop: cleanup its executor to not leak threads.
Don't override the close() method of the event loop, only override
the_close_self_pipe() method.
2017-06-30 11:12:33 +02:00
Johan de Jager
cab469245d
Fix a typo in a comment in coroutines.py (GH-2267)
...
defiend -> defined
2017-06-23 22:18:54 -07:00
Yury Selivanov
09663de203
Revert "bpo-29406: asyncio SSL contexts leak sockets after calling close with certain servers ( #409 )" ( #2111 )
...
This reverts commit a608d2d5a7
.
2017-06-11 16:46:35 +02:00
Yury Selivanov
7ce1c6fb57
bpo-30508: Don't log exceptions if Task/Future "cancel()" method called ( #2050 )
2017-06-11 13:49:18 +00:00
Nikolay Kim
a608d2d5a7
bpo-29406: asyncio SSL contexts leak sockets after calling close with certain servers ( #409 )
...
* asyncio SSL contexts leak sockets after calling close with certain servers
* cleanup _shutdown_timeout_handle on _fatal_error
2017-06-10 00:04:39 -04:00
Jim Fasarakis-Hilliard
34792d25ab
Fix TypeError is asyncio/proactor_events ( #993 )
2017-06-09 22:56:34 -04:00
Michaël Sghaïer
d1f575116a
Break circular references when closing SSLTransport objects ( #981 )
2017-06-09 18:29:46 -04:00
Nikolay Kim
a0e3d2dd09
Closing transport during handshake process leaks socket ( #480 )
2017-06-09 17:46:14 -04:00
Mathieu Sornay
894a654a9c
Fix waiter cancellation in asyncio.Lock ( #1031 )
...
Avoid a deadlock when the waiter who is about to take the lock is
cancelled
Issue #27585
2017-06-09 16:17:40 -04:00
jimmylai
21b3e04c13
call remove_done_callback in finally section ( #1688 )
2017-05-22 22:32:46 -07:00
INADA Naoki
991adca012
bpo-30048: asyncio: fix Task.cancel() was ignored. (GH-1097)
...
when there are no more `await` or `yield (from)` before return in coroutine,
cancel was ignored.
example:
async def coro():
asyncio.Task.current_task().cancel()
return 42
...
res = await coro() # should raise CancelledError
2017-05-11 21:18:38 +09:00
INADA Naoki
3e2ad8ec61
bpo-29617: Remove Python 3.3 support from asyncio (GH-232)
2017-04-25 10:57:18 +09:00
Serhiy Storchaka
2e576f5aec
bpo-30144: Import collections ABC from collections.abc rather than collections. ( #1263 )
2017-04-24 09:05:00 +03:00
Charles Renwick
ae5b3260dd
bpo-30098: Clarify that run_coroutine_threadsafe expects asyncio.Future (GH-1170)
2017-04-21 13:49:48 -07:00
Serhiy Storchaka
5affd23e6f
bpo-29762: More use "raise from None". ( #569 )
...
This hides unwanted implementation details from tracebacks.
2017-04-05 09:37:24 +03:00
Jim Fasarakis-Hilliard
1e73dbbc29
Fix small exception typos in Lib ( #818 )
2017-03-26 13:59:08 -07:00
Nikolay Kim
2b27e2e6a3
bpo-29742: asyncio get_extra_info() throws exception ( #525 )
2017-03-12 15:23:30 -04:00
Yury Selivanov
902e9c50e3
asyncio: Optimize _get_running_loop() to call getpid() only when there's a loop
2017-03-02 23:58:07 -05:00
Yury Selivanov
2f15645785
asyncio: Fix trailing whitespace/code style
2017-03-02 23:25:31 -05:00
Seth M. Larson
481cb70a72
bpo-29704: Fix asyncio.SubprocessStreamProtocol closing ( #405 )
2017-03-02 23:21:18 -05:00
Yury Selivanov
ba7e1f9a4e
bpo-29703: asyncio: Fix creating new event loops in child processes. ( #404 )
2017-03-02 20:07:11 -05:00
Mariatta Wijaya
189413dcfe
Issue #29314 : Merge with 3.6
2017-02-06 22:06:04 -08:00
Mariatta Wijaya
6138432e59
Issue #29314 : Merge with 3.5
2017-02-06 22:05:10 -08:00
Mariatta Wijaya
4e7ff8b1a3
Issue #29314 : Set the stacklevel to two in asyncio.async() Deprecation Warning
2017-02-06 22:03:00 -08:00
Serhiy Storchaka
70d28a184c
Remove unused imports.
2016-12-16 20:00:15 +02:00
Yury Selivanov
11c135136d
Merge 3.5 (issue #28990 )
2016-12-16 11:51:57 -05:00
Yury Selivanov
b1461aa781
Issue #28990 : Fix SSL hanging if connection is closed before handshake completed.
2016-12-16 11:50:41 -05:00
Yury Selivanov
5cb0c09fa6
Merge 3.5 (issue #28652 )
2016-11-21 17:47:41 -05:00
Yury Selivanov
dab0584738
Issue #28652 : Partially rollback previous changes
...
Allow AF_UNIX in create_server & create_connection
2016-11-21 17:47:27 -05:00
Yury Selivanov
21bb0e6f55
Merge 3.5 (issue #28704 )
2016-11-15 15:27:23 -05:00
Yury Selivanov
d7c151871e
Issue #28704 : Fix create_unix_server to support Path-like objects
2016-11-15 15:26:34 -05:00
Yury Selivanov
27182bb232
Merge 3.5 (issue #28703 )
2016-11-15 15:21:07 -05:00
Yury Selivanov
0ed20cdfb7
Issue #28703 : Fix asyncio.iscoroutinefunction to handle Mock objects.
2016-11-15 15:20:34 -05:00
Yury Selivanov
954c7dd0cc
Merge 3.5 (issue #28652 )
2016-11-09 15:47:47 -05:00
Yury Selivanov
a1a8b7d3d7
Issue #28652 : Make loop methods reject socket kinds they do not support.
2016-11-09 15:47:00 -05:00
Yury Selivanov
a054f40e84
Merge 3.5 (asyncio)
2016-11-08 19:16:15 -05:00
Yury Selivanov
6cc495e9e2
asyncio: Fix _format_coroutine for coroutine-like objects w/o __name__
...
Some built-in coroutine-like objects might not have __name__ or
__qualname__. A good example of such are 'asend', 'aclose' and
'athrow' coroutine methods of asynchronous generators.
2016-11-08 19:16:01 -05:00
Yury Selivanov
1994dd360b
Merge 3.5 (issue #28613 )
2016-11-07 19:01:14 -05:00
Yury Selivanov
6ea2b8fc8b
Issue #28613 : Expose asyncio._get_running_loop() and _set_running_loop()
2016-11-07 19:00:46 -05:00
Yury Selivanov
6130c0271f
Merge 3.5 (issue #28634 )
2016-11-07 16:07:30 -05:00
Yury Selivanov
49d6b8c0c3
Issue #28634 : Fix asyncio.isfuture() to support mocks
2016-11-07 16:00:50 -05:00
Yury Selivanov
69312fa4a2
Merge 3.5 (issue #28613 )
2016-11-04 14:30:11 -04:00
Yury Selivanov
600a349781
Issue #28613 : Fix get_event_loop() to return the current loop
...
when called from coroutines or callbacks.
2016-11-04 14:29:28 -04:00
Yury Selivanov
c5420492cf
asyncio: Sync with upstream
2016-11-03 15:35:23 -07:00
Yury Selivanov
a6fbcd19ac
Merge 3.5 (issue #28600 )
2016-11-03 15:10:11 -07:00
Yury Selivanov
491a912659
Issue #28600 : Optimize loop.call_soon().
...
Run expensive type checks only in debug mode. In addition, stop
supporting passing handles to loop.run_in_executor.
2016-11-03 15:09:24 -07:00
Yury Selivanov
a0c1ba608e
Issue #28544 : Implement asyncio.Task in C.
...
This implementation provides additional 10-20% speed boost for
asyncio programs.
The patch also fixes _asynciomodule.c to use Arguments Clinic, and
makes '_schedule_callbacks' an overridable method (as it was in 3.5).
2016-10-28 12:52:37 -04:00
Yury Selivanov
01c521ba7a
asyncio: Increase asyncio.Future test coverage; test both implementations.
...
Also, add 'isfuture' to 'asyncio.futures.__all__', so that it's
exposed as 'asyncio.isfuture'.
2016-10-23 22:34:35 -04:00
Yury Selivanov
6330f2a5ce
Merge 3.5 (issue #26796 )
2016-10-21 17:41:23 -04:00
Yury Selivanov
e8a6045fea
Issue #26796 : Don't configure the number of workers for default threadpool executor.
...
Initial patch by Hans Lawrenz.
2016-10-21 17:40:42 -04:00
Yury Selivanov
e145efcd7a
Merge 3.5 (issue #26923 )
2016-10-21 17:23:35 -04:00
Yury Selivanov
3d67615a48
Issue #26923 : Fix asyncio.Gather to refuse being cancelled once all children are done.
...
Patch by Johannes Ebke.
2016-10-21 17:22:17 -04:00
Yury Selivanov
ed0540698e
Issue #28500 : Fix asyncio to handle async gens GC from another thread.
2016-10-21 17:13:40 -04:00
INADA Naoki
a83636247e
Issue #28448 : Fix C implemented asyncio.Future didn't work on Windows
2016-10-21 12:30:15 +09:00
INADA Naoki
c411a7d821
Issue #28452 : Remove _asyncio._init_module function
2016-10-18 11:48:14 +09:00
INADA Naoki
9f2ce25481
Issue #28428 : Rename _futures module to _asyncio.
...
It will have more speedup functions or classes other than asyncio.Future.
2016-10-15 15:39:19 +09:00
Yury Selivanov
917c1c3ee1
Merge 3.5 (issue #27972 )
2016-10-09 12:20:44 -04:00
Yury Selivanov
4145c83806
Issue #27972 : Prohibit Tasks to await on themselves.
2016-10-09 12:19:12 -04:00
Yury Selivanov
88e8aca78d
Merge 3.5 (issue #28399 )
2016-10-09 12:16:08 -04:00
Yury Selivanov
908d55dd7e
Issue #28399 : Remove UNIX socket from FS before binding.
...
Patch by Коренберг Марк.
2016-10-09 12:15:08 -04:00
INADA Naoki
9e4e38ecd2
Issue #26801 : Added C implementation of asyncio.Future.
...
Original patch by Yury Selivanov.
2016-10-09 14:44:47 +09:00
Yury Selivanov
3df053e556
Merge 3.5 (asyncio)
2016-10-07 12:40:22 -04:00
Yury Selivanov
36e7e97d62
asyncio: Only allow Unix Stream sockets for loop.create_unix_server/connection
2016-10-07 12:39:57 -04:00
Yury Selivanov
a88614233e
Merge 3.5 (issue #23749 )
2016-10-05 19:40:19 -04:00
Yury Selivanov
92e7c7f99c
asyncio: Add "call_connection_made" arg to SSLProtocol.__init__
...
Issue #23749 : With this change it's possible to implement starttls
as a separate package on PyPI, or even by copying/pasting a small
snipped of code in your project.
It's expected that we'll figure out the API design for starttls
during 3.6, so that we can add it in 3.7.
2016-10-05 19:39:54 -04:00
Yury Selivanov
996dd4a666
Merge 3.5 (issue #28372 )
2016-10-05 19:33:36 -04:00
Yury Selivanov
8dc3e43839
Issue #28372 : Fix asyncio to support formatting of non-python coroutines
2016-10-05 19:32:49 -04:00
Yury Selivanov
d2c5fab7c6
Merge 3.5 (issue #28371 )
2016-10-05 18:29:04 -04:00
Yury Selivanov
0de3de6cbf
Issue #28371 : Deprecate passing asyncio.Handles to run_in_executor.
2016-10-05 18:28:09 -04:00
Yury Selivanov
139914a058
Merge 3.5 (issue #28370 )
2016-10-05 18:04:35 -04:00
Yury Selivanov
3e56ff0d08
Issue #28370 : Speedup asyncio.StreamReader.readexactly
...
Patch by Коренберг Марк.
2016-10-05 18:01:12 -04:00
Yury Selivanov
bb8eb92f46
Merge 3.5 (issue #28369 )
2016-10-05 17:49:54 -04:00
Yury Selivanov
5b8d4f97f8
Issue #28369 : Raise an error when transport's FD is used with add_reader
2016-10-05 17:48:59 -04:00
Yury Selivanov
67ea61818e
Merge 3.5 (issue #28368 )
2016-10-05 17:01:01 -04:00
Yury Selivanov
9eb6c67776
Issue #28368 : Refuse monitoring processes if the child watcher has no loop attached.
...
Patch by Vincent Michel.
2016-10-05 16:57:12 -04:00
Guido van Rossum
0035be3fee
Misc asyncio improvements from upstream (merge 3.5->3.6)
2016-09-30 08:18:34 -07:00
Guido van Rossum
e3c65a7a22
Misc asyncio improvements from upstream
2016-09-30 08:17:15 -07:00
Yury Selivanov
50fe7114ae
Merge 3.5 (issue #28176 )
2016-09-15 17:58:15 -04:00
Yury Selivanov
d6c6771fc9
Issue #28176 : Fix callbacks race in asyncio.SelectorLoop.sock_connect.
2016-09-15 17:56:36 -04:00
Yury Selivanov
b76968be0d
Merge 3.5 (asyncio, issue #26909 )
2016-09-15 16:52:41 -04:00
Yury Selivanov
4c5bf3bc52
Issue #26909 : Fix slow pipes IO in asyncio.
...
Patch by INADA Naoki.
2016-09-15 16:51:48 -04:00
Yury Selivanov
62b81c33d1
Merge 3.5 (issue #26654 )
2016-09-15 16:01:35 -04:00
Yury Selivanov
45dccdad93
Issue #26654 : Inspect functools.partial in asyncio.Handle.__repr__.
...
Patch by iceboy.
2016-09-15 15:58:15 -04:00
Yury Selivanov
1b984ffd44
Merge 3.5 (issue #28174 )
2016-09-15 15:46:16 -04:00
Yury Selivanov
5587d7c071
Issue #28174 : Handle when SO_REUSEPORT isn't properly supported (asyncio)
...
Patch by Seth Michael Larson.
2016-09-15 15:45:07 -04:00
Yury Selivanov
d070154fb5
Merge 3.5 (issue #27906 )
2016-09-15 14:14:48 -04:00
Yury Selivanov
a1b0e7db73
Issue #27906 : Fix socket accept exhaustion during high TCP traffic.
...
Patch by Kevin Conway.
2016-09-15 14:13:15 -04:00
Yury Selivanov
4357cf6202
Another asyncio sync.
2016-09-15 13:49:08 -04:00
Yury Selivanov
b26067a92f
asyncio: Drop debug code
2016-09-15 13:35:41 -04:00
Yury Selivanov
0a91d484a3
Merge 3.5 (asyncio)
2016-09-15 13:24:03 -04:00
Yury Selivanov
f6d991d885
asyncio: Sync with the upstream
2016-09-15 13:10:51 -04:00
Yury Selivanov
8987c9d219
Issue #26182 : Raise DeprecationWarning for improper use of async/await keywords
2016-09-15 12:50:23 -04:00
Yury Selivanov
503ba3ed97
Merge 3.5 (issue #27456 )
2016-09-11 21:44:17 -04:00
Yury Selivanov
44c19eccf9
Issue #27456 : asyncio: Set TCP_NODELAY by default.
2016-09-11 21:39:31 -04:00
Yury Selivanov
966321e236
Merge 3.5 (asyncio)
2016-09-11 21:11:19 -04:00
Yury Selivanov
a05a6ef1ca
asyncio: Add set_protocol / get_protocol methods to Transports
2016-09-11 21:11:02 -04:00
Christian Heimes
d04863771b
Issue #28022 : Deprecate ssl-related arguments in favor of SSLContext.
...
The deprecation include manual creation of SSLSocket and certfile/keyfile
(or similar) in ftplib, httplib, imaplib, smtplib, poplib and urllib.
ssl.wrap_socket() is not marked as deprecated yet.
2016-09-10 23:23:33 +02:00
Raymond Hettinger
f1024f7425
merge
2016-09-09 15:58:00 -07:00
Guido van Rossum
7b3b3dc85d
Merge asyncio upstream.
2016-09-09 14:26:31 -07:00
Guido van Rossum
7719d46431
Rename Future._blocking to _asyncio_future_blocking.
...
This is now an official "protected" API that can be used to write
classes that are duck-type-compatible with Future without subclassing
it. (For that purpose I also changed isinstance(result, Future) to
check for this attribute instead.)
Hopefully Amber Brown can use this to make Twisted.Deferred compatible
with asyncio.Future.
Tests and docs are TBD. (Also there are more isinstance() checks to fix.)
2016-09-09 12:58:15 -07:00
Guido van Rossum
1140a03426
Rename Future._blocking to _asyncio_future_blocking.
...
This is now an official "protected" API that can be used to write
classes that are duck-type-compatible with Future without subclassing
it. (For that purpose I also changed isinstance(result, Future) to
check for this attribute instead.)
Hopefully Amber Brown can use this to make Twisted.Deferred compatible
with asyncio.Future.
Tests and docs are TBD.
2016-09-09 12:54:54 -07:00
Yury Selivanov
eb6364557f
Issue #28003 : Implement PEP 525 -- Asynchronous Generators.
2016-09-08 22:01:51 -07:00
Martin Panter
0be894b2f6
Issue #27895 : Spelling fixes (Contributed by Ville Skyttä).
2016-09-07 12:03:06 +00:00
Guido van Rossum
4786787c07
Fix ordering issues in UNIX read/write pipe transport constructors.
...
Upstream https://github.com/python/asyncio/pull/408 by Ron Frederick.
2016-08-31 09:42:38 -07:00
Guido van Rossum
8b7918a7e2
Don't select for read on character devices in _UnixWritePipeTransport.
...
Upstream https://github.com/python/asyncio/pull/374 by Ron Frederick.
2016-08-31 09:40:18 -07:00
Guido van Rossum
898ac56fc2
Merge asyncio from 3.5
2016-08-31 09:47:08 -07:00
Vinay Sajip
dd917f84e3
Closes #27904 : Improved logging statements to defer formatting until needed.
2016-08-31 08:22:29 +01:00
Raymond Hettinger
15f44ab043
Issue #27895 : Spelling fixes (Contributed by Ville Skyttä).
2016-08-30 10:47:49 -07:00
Guido van Rossum
83f5a3846c
In asyncio.locks.Lock.acquire(): Avoid deadlock when a cancelled future is in self._waiters.
2016-08-23 09:39:03 -07:00
Guido van Rossum
f06c7b6f37
In asyncio.locks.Lock.acquire(): Avoid deadlock when a cancelled future is in self._waiters. (Merge 3.5->3.6)
2016-08-23 09:39:26 -07:00
Yury Selivanov
e824315e2b
Merge 3.5 (issue #27392 )
2016-07-12 18:24:25 -04:00
Yury Selivanov
252e9ed974
Issue #27392 : Add loop.connect_accepted_socket().
...
Patch by Jim Fulton.
2016-07-12 18:23:10 -04:00
Yury Selivanov
5eef78b113
Merge 3.5 (asyncio)
2016-06-28 11:00:39 -04:00
Yury Selivanov
63bf487688
asyncio: Use socket specs for getaddrinfo() in sock_connect()
...
Patch by Martin Richard. GH PR #365 .
2016-06-28 11:00:22 -04:00
Yury Selivanov
7c6b3ea48c
Merge 3.5 (asyncio)
2016-06-28 10:55:49 -04:00
Yury Selivanov
77bc04a3bc
asyncio: Fix NameError in sslproto _fatal_error()
...
Patch by Richard Walker.
2016-06-28 10:55:36 -04:00
Yury Selivanov
d35bf03284
Merge 3.5 (issue #22970 )
2016-06-11 12:01:19 -04:00
Yury Selivanov
c92bf83a82
Issue #22970 : asyncio: Fix inconsistency cancelling Condition.wait.
...
Patch by David Coles.
2016-06-11 12:00:07 -04:00
Yury Selivanov
6588712bf0
Merge 3.5 (issue #27223 )
2016-06-11 11:20:50 -04:00
Yury Selivanov
ca2e0a48cf
Issue #27223 : aio: Fix _read_ready and _write_ready to respect _conn_lost.
...
Patch by Łukasz Langa.
2016-06-11 11:19:47 -04:00
Yury Selivanov
711d25db48
Merge 3.5 (issue #27243 )
2016-06-09 15:13:16 -04:00
Yury Selivanov
a6f6edbda8
Issue #27243 : Fix __aiter__ protocol
2016-06-09 15:08:31 -04:00