| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
`asyncio.base_events.BaseEventLoop._add_callback` (GH-101197)
(cherry picked from commit 9e947675ae3dc32f5863e5ed3022301cf7fd79b4)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
|
|
|
|
|
|
|
| |
`asyncio.open_connection` (GH-100615)
(cherry picked from commit ba8dcdbcab5fd9989be6c9a51002394e782c463c)
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
| |
asyncio.open_connection raises (GH-95739) (#99722)
Break reference cycles to resolve memory leak, by
removing local exception and future instances from the frame.
(cherry picked from commit 995f6170c78570eca818f7e7dbd8a7661c171a81)
Co-authored-by: Dong Uk, Kang <nailbrainz@gmail.com>
|
|
|
|
|
|
| |
Ensure that the event loop's `_thread_id` attribute and the asyncgen hooks set by `sys.set_asyncgen_hooks()` are always restored no matter where a KeyboardInterrupt exception is raised.
(cherry picked from commit 3a49dbb98ccc1b90554ed181386316efa38adfba)
Co-authored-by: hetmankp <728670+hetmankp@users.noreply.github.com>
|
|
|
|
|
|
|
| |
* When chaining futures, skip callback if loop closed.
* When shutting down an executor, don't wake a closed loop.
(cherry picked from commit e9d63760fea8748638f6e495b5b07bd1805c9591)
Co-authored-by: Guido van Rossum <guido@python.org>
|
|
|
|
|
| |
(cherry picked from commit f882d33778ee2625ab32d90e28edb6878fb8af93)
Co-authored-by: Alexander Shadchin <alexandr.shadchin@gmail.com>
|
|
|
|
|
|
|
|
|
| |
This change aligns the documentation at https://docs.python.org/3/library/asyncio-eventloop.htmlGH-asyncio.Server
with the actual implementation
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
(cherry picked from commit da80d6b2f3beff519cb1457d5e055168c89f7224)
Co-authored-by: Stefan Zabka <zabkaste@informatik.hu-berlin.de>
|
|
|
|
|
|
|
| |
methods (GH-31442). (GH-31443)
(cherry picked from commit 1f9d4c93af380d00bf2e24bc5f5ce662d41504aa)
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
|
|
|
|
|
|
|
|
| |
(GH-27380)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit 11749e2dc20ad6a76e9a39e948853e89b2b4bbed)
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
|
|
|
|
| |
This reverts commit 5fb06edbbb769561e245d0fe13002bab50e2ae60 and all
subsequent dependent commits.
|
| |
|
|
|
|
| |
(GH-23521)
|
|
|
|
|
|
| |
(GH-21533)
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
Co-authored-by: Kyle Stanley <aeros167@gmail.com>
|
|
|
|
|
| |
(GH-18458)
Just a small debugging improvement to identify the asyncio executor threads.
|
|
|
| |
https://bugs.python.org/issue39191
|
| |
|
| |
|
|
|
|
| |
(GH-15735)
|
| |
|
|
|
|
| |
fallback mode. (GH-14075)
|
|
|
|
|
| |
(GH-13786)" (#13802)
This reverts commit 0f0a30f4da4b529e0f7df857b9f575b231b32758.
|
|
|
|
|
|
|
| |
Add BaseEventLoop.wait_executor_on_close attribute: true by default.
loop.close() now waits for the default executor to finish by default.
Set loop.wait_executor_on_close attribute to False to not wait for
the executor.
|
|
|
|
|
|
|
|
|
| |
Drop isinstance checks from create_subprocess_exec function and let
subprocess module do them.
https://bugs.python.org/issue35246
https://bugs.python.org/issue35246
|
|
|
|
|
| |
loop.subprocess_exec (GH-13586)
https://bugs.python.org/issue36686
|
|
|
|
|
|
|
|
|
|
| |
(GH-13530)
Return a safe to use proxy socket object from `transport.get_extra_info('socket')`
https://bugs.python.org/issue37027
|
|
|
| |
https://bugs.python.org/issue37035
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will address the common mistake many asyncio users make:
an "except Exception" clause breaking Tasks cancellation.
In addition to this change, we stop inheriting asyncio.TimeoutError
and asyncio.InvalidStateError from their concurrent.futures.*
counterparts. There's no point for these exceptions to share the
inheritance chain.
In 3.9 we'll focus on implementing supervisors and cancel scopes,
which should allow better handling of all exceptions, including
SystemExit and KeyboardInterrupt
|
|
|
|
|
|
|
|
| |
This PR proposes a solution to [bpo-35545](https://bugs.python.org/issue35545) by adding an optional `flowinfo` and `scopeid` to `asyncio.base_events._ipaddr_info` to carry the full address information into `_ipaddr_info` and avoid discarding IPv6 specific information.
Changelog entry & regression tests to come.
https://bugs.python.org/issue35545
|
|
|
|
|
|
|
|
|
|
|
|
| |
*Moved from python/asyncio#493.*
This PR fixes issue python/asyncio#480, as explained in [this comment](https://github.com/python/asyncio/issues/480#issuecomment-278703828).
The `_SelectorDatagramTransport.sendto` method has to be modified ~~so `_sock.sendto` is used in all cases (because it is tricky to reliably tell if the socket is connected or not). Could that be an issue for connected sockets?~~ *EDIT* ... so `_sock.send` is used only if `_sock` is connected.
It also protects `socket.getsockname` against `OSError` in `_SelectorTransport`. This might happen on Windows if the socket is not connected (e.g. for UDP broadcasting).
https://bugs.python.org/issue31922
|
|
|
|
|
|
|
|
|
|
| |
Added two keyword arguments, `delay` and `interleave`, to
`BaseEventLoop.create_connection`. Happy eyeballs is activated if
`delay` is specified.
We now have documentation for the new arguments. `staggered_race()` is in its own module, but not exported to the main asyncio package.
https://bugs.python.org/issue33530
|
|
|
| |
https://bugs.python.org/issue34139
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* asyncio: __del__() keep reference to warnings.warn
The __del__() methods of asyncio classes now keep a strong reference
to the warnings.warn() to be able to display the ResourceWarning
warning in more cases. Ensure that the function remains available if
instances are destroyed late during Python shutdown (while module
symbols are cleared).
* Rename warn parameter to _warn
"_warn" name is a hint that it's not the regular warnings.warn()
function.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(GH-9641)
The waiting is pretty normal for any asyncio program, logging its time just adds
a noise to logs without any useful information provided.
https://bugs.python.org/issue34849
|
| |
|
| |
|
|
|
| |
Co-authored-by: Antti Haapala <antti.haapala@anttipatterns.com>
|
| |
|
|
|
|
|
|
|
| |
(GH-8533)
Various asyncio internals expect that the default executor is a
`ThreadPoolExecutor`, so deprecate passing anything else to
`loop.set_default_executor()`.
|
| |
|
|
|
| |
Supersedes https://github.com/python/cpython/pull/2490
|
|
|
| |
In addition to that, mark SSLTransport as "closed" in its "abort()" method to prevent bogus warnings.
|
|
|
|
|
|
|
| |
* Fix AttributeError (not all SSL exceptions have 'errno' attribute)
* Increase default handshake timeout from 10 to 60 seconds
* Make sure start_tls can be cancelled correctly
* Make sure any error in SSLProtocol gets propagated (instead of just being logged)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
In this commit:
* Support BufferedProtocol in set_protocol() and start_tls()
* Fix proactor to cancel readers reliably
* Update tests to be compatible with OpenSSL 1.1.1
* Clarify BufferedProtocol docs
* Bump TLS tests timeouts to 60 seconds; eliminate possible race from start_serving
* Rewrite test_start_tls_server_1
|
|
|
|
| |
I've run some tests on 3.7 asyncio and it appears that too many
things assume that run_in_executor returns a Future.
|