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
Yury Selivanov
7a713386d8
Merge 3.5 (asyncio)
2016-06-08 13:57:23 -04:00
Yury Selivanov
c1cf296de6
asyncio: Remove asyncio.timeout() context manager.
...
It will probably be added back in Python 3.6, once its compatibility
issues are resolved; see [1] for more details.
[1] https://mail.python.org/pipermail/async-sig/2016-June/000045.html
2016-06-08 13:57:03 -04:00
Yury Selivanov
552bf94648
Merge 3.5 (issue #27136 , asyncio)
2016-06-08 12:33:59 -04:00
Yury Selivanov
f1c6fa9866
Issue #27136 : Fix DNS static resolution; don't use it in getaddrinfo
...
Patch by A. Jesse Jiryu Davis
2016-06-08 12:33:31 -04:00
Martin Panter
19409197e2
Merge typo fixes from 3.5
2016-06-04 05:26:40 +00:00
Martin Panter
3ee6270262
Fix typos in code comment and documentation
2016-06-04 04:57:19 +00:00
Yury Selivanov
1f56e5f6af
Merge 3.5 (asyncio)
2016-06-02 16:51:27 -04:00
Yury Selivanov
a714616d36
asyncio: Fix getaddrinfo to accept service names (for port)
...
Patch by A. Jesse Jiryu Davis
2016-06-02 16:51:07 -04:00
Yury Selivanov
642afb3d3d
Merge 3.5 (asyncio)
2016-06-02 16:44:10 -04:00
Yury Selivanov
a8f895f051
asyncio: Support host=b'' for getaddrinfo
2016-06-02 16:43:52 -04:00
Martin Panter
3e04d5b306
Issue #27076 : Merge spelling from 3.5
2016-05-26 06:03:19 +00:00
Martin Panter
46f50726a0
Issue #27076 : Doc, comment and tests spelling fixes
...
Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
2016-05-26 05:35:26 +00:00
Yury Selivanov
72005f1744
Merge 3.5 (asyncio)
2016-05-21 16:50:31 -04:00
Yury Selivanov
f0200e06f0
asyncio: Fix BytesWarning (use typed=True in lru_cache for _ipaddr_info)
2016-05-21 16:50:16 -04:00
Yury Selivanov
010f361dad
Merge 3.5 (asyncio)
2016-05-20 17:44:44 -04:00
Yury Selivanov
eaaaee8c56
asyncio: Fix getaddrinfo to accept None/str/bytes for 'port' arg
...
Patch by A. Jesse Jiryu Davis.
2016-05-20 17:44:19 -04:00
Yury Selivanov
f4049ee170
Merge 3.5 (asyncio)
2016-05-20 11:31:55 -04:00
Yury Selivanov
3dc5129d4f
asyncio: Fix an SSL warning in StreamReaderProtocol.eof_received
2016-05-20 11:31:40 -04:00
Victor Stinner
2292edf574
Merge 3.5 (issue #26741 )
2016-05-20 13:06:55 +02:00
Victor Stinner
b0d43ce890
asyncio: fix ResourceWarning related to subprocesses
...
Issue #26741 : asyncio: BaseSubprocessTransport._process_exited() now copies the
return code from the child watched to the returncode attribute of the Popen
object. On Python 3.6, it is required to avoid a ResourceWarning.
2016-05-20 13:05:48 +02:00
Yury Selivanov
63063af12e
Merge 3.5 (asyncio)
2016-05-16 16:32:56 -04:00
Yury Selivanov
b461791b91
asyncio/streams: Fix code style; delete LimitOverrunError.message attr
2016-05-16 16:32:38 -04:00
Yury Selivanov
8ace2c66d3
Merge 3.5 (Issue #27041 )
2016-05-16 15:39:39 -04:00
Yury Selivanov
7661db6228
Issue #27041 : asyncio: Add loop.create_future method
2016-05-16 15:38:39 -04:00
Yury Selivanov
7c3ac2d1f8
Merge 3.5 (issue #27040 )
2016-05-16 15:32:26 -04:00
Yury Selivanov
7ed7ce6ee7
Issue #27040 : Add loop.get_exception_handler method
2016-05-16 15:20:38 -04:00
Yury Selivanov
2e413f7cc7
Merge 3.5 (asyncio)
2016-05-13 16:05:05 -04:00
Yury Selivanov
5dc093336f
asyncio: Fix unix pipe transport 'repr' methods
...
Patch by Vincent Michel.
See also https://github.com/python/asyncio/pull/326
2016-05-13 16:04:43 -04:00
Yury Selivanov
8308db5cd5
Merge 3.5 (asyncio)
2016-05-13 15:59:48 -04:00
Yury Selivanov
32dae3d50f
asyncio: Break reference cycle in StreamReaderProtocol.connection_lost
2016-05-13 15:58:00 -04:00
Yury Selivanov
059320bab8
Merge 3.5 (issue #26848 )
2016-05-13 15:39:09 -04:00
Yury Selivanov
7657f6ba21
Issue #26848 : Fix asyncio/subprocess.communicate() to handle empty input.
2016-05-13 15:35:28 -04:00
Serhiy Storchaka
b6a9c9761c
Issue #26778 : Fixed "a/an/and" typos in code comment, documentation and error
...
messages.
2016-04-17 09:39:28 +03:00
Serhiy Storchaka
6a7b3a77b4
Issue #26778 : Fixed "a/an/and" typos in code comment and documentation.
2016-04-17 08:32:47 +03:00
Martin Panter
cda80940ed
Issue #15984 : Merge PyUnicode doc from 3.5
2016-04-15 02:27:11 +00:00
Martin Panter
6245cb3c01
Correct “an” → “a” with “Unicode”, “user”, “UTF”, etc
...
This affects documentation, code comments, and a debugging messages.
2016-04-15 02:14:19 +00:00
Victor Stinner
00f4648a39
Merge 3.5 (asyncio)
2016-04-01 21:43:54 +02:00
Victor Stinner
c94a93aecb
asyncio: Don't log ConnectionAbortedError
...
Issue #26509 : In fatal error handlers, don't log ConnectionAbortedError which
occur on Windows.
2016-04-01 21:43:39 +02:00
Victor Stinner
89d3f53aac
Merge 3.5 (asyncio)
2016-04-01 21:40:14 +02:00
Victor Stinner
2ba8ece5be
asyncio: allow None as wait timeout
...
Fix GH#325: Allow to pass None as a timeout value to disable timeout logic.
Change written by Andrew Svetlov and merged by Guido van Rossum.
2016-04-01 21:39:09 +02:00
Victor Stinner
e19558af1b
Add a source parameter to warnings.warn()
...
Issue #26604 :
* Add a new optional source parameter to _warnings.warn() and warnings.warn()
* Modify asyncore, asyncio and _pyio modules to set the source parameter when
logging a ResourceWarning warning
2016-03-23 00:28:08 +01:00
Yury Selivanov
e076ffb068
asyncio: Remove duplicate bind addresses in create_server.
...
Patch by Sebastien Bourdeauducq (issue #26338 )
2016-03-02 11:17:01 -05:00
Yury Selivanov
1bd030788d
asyncio: Prevent StopIteration from being thrown into a Future
...
Patch by Chris Angelico (issue #26221 )
2016-03-02 11:03:28 -05:00
Yury Selivanov
dce63234c5
asyncio: Fix @coroutine to recognize CoroWrapper (issue #25647 )
...
Patch by Vladimir Rutsky.
2016-03-02 10:49:16 -05:00
Martin Panter
c04fb56e36
Issue #26304 : Change "allows to <verb>" to "allows <verb>ing" or similar
...
The original form is incorrect grammar and feels awkward, even though the
meaning is clear.
2016-02-10 05:44:01 +00:00
Victor Stinner
3e7230904e
Fix error message in asyncio.selector_events.
...
Patch written by Carlo Beccarini <hackdiablo.cb@gmail.com>.
2016-02-01 12:46:38 +01:00
Yury Selivanov
d9d0e864b9
Issue #26050 : Add asyncio.StreamReader.readuntil() method.
...
Patch by Марк Коренберг.
2016-01-11 12:28:19 -05:00
Andrew Svetlov
9d976fa75f
Sync with asyncio
2016-01-11 12:25:23 +02:00