[Python-ideas] Membership of infinite iterators

Koos Zevenhoven k7hoven at gmail.com
Wed Oct 18 05:56:23 EDT 2017


On Tue, Oct 17, 2017 at 9:44 PM, Brendan Barnwell <brenbarn at brenbarn.net>
wrote:

> On 2017-10-17 07:26, Serhiy Storchaka wrote:
>
>> 17.10.17 17:06, Nick Coghlan пише:
>>
>>> >Keep in mind we're not talking about a regular loop you can break out of
>>> >with Ctrl-C here - we're talking about a tight loop inside the
>>> >interpreter internals that leads to having to kill the whole host
>>> >process just to get out of it.
>>>
>> And this is the root of the issue. Just let more tight loops be
>> interruptible with Ctrl-C, and this will fix the more general issue.
>>
>
>         I was just thinking the same thing.  I think in general it's
> always bad for code to be uninterruptible with Ctrl-C.


Indeed I agree about this.


> If these infinite iterators were fixed so they could be interrupted, this
> containment problem would be much less painful.
>
>I'm unable to reproduce the "uninterruptible with Ctrl-C"​ problem with
infinite iterators. At least itertools doesn't seem to have it:

>>> import itertools
>>> for i in itertools.count():
...     pass
...
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt

>>> for i in itertools.repeat(1):
...     pass
...
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt

>>> for i in itertools.cycle((1,)):
...     pass
...
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt
>>>


Same thing on both Windows and Linux, Python 3.6.


––Koos

-- 
+ Koos Zevenhoven + http://twitter.com/k7hoven +
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20171018/fa9bbc07/attachment.html>


More information about the Python-ideas mailing list