Author njs
Recipients Mark.Shannon, deleted0524, erik.bray, gregory.p.smith, jdemeyer, ncoghlan, njs, xgdomingo, yselivanov
Date 2017-09-08.19:10:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1504897828.71.0.0279666872627.issue29988@psf.upfronthosting.co.za>
In-reply-to
Content
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.)
History
Date User Action Args
2017-09-08 19:10:28njssetrecipients: + njs, gregory.p.smith, ncoghlan, Mark.Shannon, erik.bray, jdemeyer, yselivanov, deleted0524, xgdomingo
2017-09-08 19:10:28njssetmessageid: <1504897828.71.0.0279666872627.issue29988@psf.upfronthosting.co.za>
2017-09-08 19:10:28njslinkissue29988 messages
2017-09-08 19:10:28njscreate