Hi list,

I am currently developing a Python library based on asyncio.
Unfortunately, not all users of my library have much experience with
asynchronous programming, so they often try to use blocking functions.

I thought it would be a good idea if we could somehow flag blocking
functions in the standard library, such that they issue a warning (or
even raise an exception) if they are used in an asyncio context. For
functions implemented in Python, a simple decorator should do the job.

For functions implemented in C, things get a bit more complex.
Thinking about it, I realized that currently the best indicator for a
C function to block is that it releases the GIL. There are some false
positives, like a read with O_NONBLOCK set, in which case we need a
way to opt out, but in general it could be a good idea that releasing
the GIL triggers a warning in an asyncio environment.

Greetings

Martin
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to