<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace"><span style="font-family:arial,sans-serif">On Tue, Oct 17, 2017 at 9:44 PM, Brendan Barnwell </span><span dir="ltr" style="font-family:arial,sans-serif"><<a href="mailto:brenbarn@brenbarn.net" target="_blank">brenbarn@brenbarn.net</a>></span><span style="font-family:arial,sans-serif"> wrote:</span><br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On 2017-10-17 07:26, Serhiy Storchaka wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
17.10.17 17:06, Nick Coghlan пише:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
>Keep in mind we're not talking about a regular loop you can break out of<br>
>with Ctrl-C here - we're talking about a tight loop inside the<br>
>interpreter internals that leads to having to kill the whole host<br>
>process just to get out of it.<br>
</blockquote>
And this is the root of the issue. Just let more tight loops be<br>
interruptible with Ctrl-C, and this will fix the more general issue.<br>
</blockquote>
<br></span>
        I was just thinking the same thing.  I think in general it's always bad for code to be uninterruptible with Ctrl-C.  </blockquote><div><br></div><div><div class="gmail_default" style="font-family:monospace,monospace">Indeed I agree about this.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">If these infinite iterators were fixed so they could be interrupted, this containment problem would be much less painful.<span class="gmail-HOEnZb"><font color="#888888"><br><br></font></span></blockquote><div class="gmail_default" style="font-family:monospace,monospace">​</div><div class="gmail_default" style="font-family:monospace,monospace">I'm unable to reproduce the "uninterruptible with Ctrl-C"​ problem with infinite iterators. At least itertools doesn't seem to have it:</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace"><div class="gmail_default">>>> import itertools</div><div class="gmail_default">>>> for i in itertools.count():</div><div class="gmail_default">...     pass</div><div class="gmail_default">... </div><div class="gmail_default">^CTraceback (most recent call last):</div><div class="gmail_default">  File "<stdin>", line 1, in <module></div><div class="gmail_default">KeyboardInterrupt</div><div class="gmail_default"><br></div><div class="gmail_default">>>> for i in itertools.repeat(1):</div><div class="gmail_default">...     pass</div><div class="gmail_default">... </div><div class="gmail_default">^CTraceback (most recent call last):</div><div class="gmail_default">  File "<stdin>", line 1, in <module></div><div class="gmail_default">KeyboardInterrupt</div><div class="gmail_default"><div class="gmail_default"><br></div><div class="gmail_default">>>> for i in itertools.cycle((1,)):</div><div class="gmail_default">...     pass</div><div class="gmail_default">... </div><div class="gmail_default">^CTraceback (most recent call last):</div><div class="gmail_default">  File "<stdin>", line 1, in <module></div><div class="gmail_default">KeyboardInterrupt</div><div class="gmail_default">>>> </div><div><br></div></div><div><br></div><div>Same thing on both Windows and Linux, Python 3.6.</div><div><br></div><div><br></div><div>––Koos</div></div></div><div><br></div>-- <br><div class="gmail_signature">+ Koos Zevenhoven + <a href="http://twitter.com/k7hoven" target="_blank">http://twitter.com/k7hoven</a> +</div>
</div></div>