On Mon, Sep 24, 2018 at 4:19 PM Eric Snow <ericsnowcurren...@gmail.com> wrote:
[..]
> Is there a good place where this weirdness is documented?

I'll need to look through uvloop & libuv commit log to remember that;
will try to find time tonight/tomorrow.

[..]
> This matters to me because I'd like to use "pending" calls for
> subinterpreters, which means dealing with signals *in*
> Py_MakePendingCalls() is problematic.  Pulling the
> PyErr_CheckSignals() call out would eliminate that problem.

Py_MakePendingCalls is a public API, even though it's not documented.
If we change it to not call PyErr_CheckSignals and if there are C
extensions that block pure Python code execution for long time (but
call Py_MakePendingCalls explicitly), such extensions would stop
reacting to ^C.

Maybe a better workaround would be to introduce a concept of "main"
sub-interpreter? We can then fix Py_MakePendingCalls to only check for
signals when it's called from the main interpreter.

Yury
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to