Commit Graph

585 Commits

Author SHA1 Message Date
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