Re: [PATCH] global_event_loop: return running loop for current thread

Zac Medico <[email protected]> Mon, 4 Jan 2021 01:34:03 -0800
Newsgroups gmane.linux.gentoo.portage.devel
Message-ID <[email protected]>
On 1/4/21 1:06 AM, Zac Medico wrote:
> Like asyncio.get_event_loop(), return the running loop for the
> current thread if there is one, and otherwise construct a new
> one if needed. This allows the _safe_loop function to become
> synonymous with the global_event_loop function.
> 
> Bug: https://bugs.gentoo.org/763339
> Signed-off-by: Zac Medico <[email protected]>
> ---
>  .../util/_eventloop/global_event_loop.py      | 28 ++-----------------
>  lib/portage/util/futures/_asyncio/__init__.py | 22 ++++++++++-----
>  2 files changed, 17 insertions(+), 33 deletions(-)

For the case of "loop running in non-main thread" of API consumer, this
change makes portage compatible with PEP 492 coroutines with async and
await syntax. Portage internals can safely begin using async / await
syntax instead of compat_coroutine.
-- 
Thanks,
Zac
signature.asc (application/pgp-signature, 981 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQKTBAEBCgB9FiEE8OgXaltWzqgSupCu0HX7jBBKPSAFAl/y4QtfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEYw
RTgxNzZBNUI1NkNFQTgxMkJBOTBBRUQwNzVGQjhDMTA0QTNEMjAACgkQ0HX7jBBK
PSDnWA/8CFSGP5WMGc0yFbEEdfiwTjsL3f+Lo0QWlFCo9iV8ENemv1e1ZwT5TZGp
eHMvCRip8E60IcW0TAXR5PSZAc9GMz1oTLjb15CGu1Q2RpSEt+LEOqBXHZD0Q0od
6hi695ay6G0pyjX5fWMI1AhZEEi2Y3aH2S1sMg6sc8cPAIB+czSr1jJfNLvQzAku
YV4pSTCDceUiir25X9lb2CoX3v1oabAiqa1+Lbq9JLVKXWNCLp1tgeMGWZ0iqUJo
Z7rgSV1GjIrtwRl/yhmWdlDe7qVmKaX7/nXLy4olsykGiqiwCTeAHxKGdp5HbsgO
GMubM4Bn4HsF1x16ds2dq2UqC629MxMYM7DAMne2Xd+kfuwAuaz4GFmJc11k3R8f
CWxX44eQGW7/Zvkmhr1+J8cStDD0KEayyTYKD/5x3r3/IQnz6xrpcNesk7euz/vw
uK5PDw8i8l+FUmzOqeHJsXJDOT572mAZO94mlOp/gtQRWoD8qna06Pw8WEchzJqf
Sa0GpxraSyqnuIQ/QKXi8HLoPLfztvjCyU3m7PMWFt+x2irj41rWQYJHnRKwT8B9
4ggiuAp6l9b2JmEYwMsEp4Z/HnejapJnJ/M0+rzonaRqLsLRvzhlVOte2omvoKcV
O0cFk8uKNcV6zjFVeQGIEE0tbPvy7toXnm9bEGpUpUhgKFUt3vY=
=Qrie
-----END PGP SIGNATURE-----