Nathaniel Smith added the comment:

Here's the patch I mentioned: 
https://github.com/njsmith/cpython/commit/62547dc5ea323a07c25c2047636a02241f518013

It has a crude but effective technique for handling the hanging issue :-). 
Alternatively one could use the World's Stupidest Coroutine Runner:

def run(coro):
    try:
        coro.send(None)
    except StopIteration:
        pass
    else:
        raise RuntimeError("yielded")

> I'm also wondering how far we might be able to get by adjusting the pending 
> signal processing such that we always execute at least one line from a 
> function before checking for pending signals

Huh, that's a neat idea. I think it's defeated by 'while True: pass', though 
:-(. (You have to write it on two lines, but it compiles down to a single 
instruction that jumps to itself.)

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue29988>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to