<div dir="ltr">It's possible, but AFAIK asyncio.sleep() has nothing in common with time.sleep() -- it's implemented as a timeout on select() or on the IOCP loop. (I also have no access to Windows ATM.)<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 4, 2015 at 7:49 PM, R. David Murray <span dir="ltr"><<a href="mailto:rdmurray@bitdance.com" target="_blank">rdmurray@bitdance.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Once long ago in Internet time (issue 581232) time.sleep on windows was<br>
not interruptible and this was fixed.  Is it possible the work on EINTR<br>
has broken that fix?<br>
<br>
(I don't currently have 3.5 installed on windows to test that theory...)<br>
<div><div class="h5"><br>
On Sat, 04 Jul 2015 17:46:34 +0200, Guido van Rossum <<a href="mailto:guido@python.org">guido@python.org</a>> wrote:<br>
> I think this may be more of a Windows issue than an asyncio issue. I agree<br>
> that ideally ^C should take effect immediately (as it does on UNIX).<br>
><br>
> On Sat, Jul 4, 2015 at 9:54 AM, Terry Reedy <<a href="mailto:tjreedy@udel.edu">tjreedy@udel.edu</a>> wrote:<br>
><br>
> > Should the loop.run... methods of asyncio respect KeyboardInterrupt (^C)?<br>
> ><br>
> > Developer and user convenience and this paragraph in PEP<br>
> ><br>
> > "However, exceptions deriving only from BaseException are typically not<br>
> > caught, and will usually cause the program to terminate with a traceback.<br>
> > In some cases they are caught and re-raised. (Examples of this category<br>
> > include KeyboardInterrupt and SystemExit ; it is usually unwise to treat<br>
> > these the same as most other exceptions.) "<br>
> ><br>
> > and this examples in the doc (two places)<br>
> ><br>
> > TCP echo server<br>
> >     # Serve requests until CTRL+c is pressed<br>
> >     print('Serving on {}'.format(server.sockets[0].getsockname()))<br>
> >     try:<br>
> >         loop.run_forever()<br>
> >     except KeyboardInterrupt:<br>
> >         pass<br>
> ><br>
> > suggest yes.  On the other hand, the section on<br>
> > "Set signal handlers for SIGINT and SIGTERM"<br>
> > suggests not, unless an explicit handler is registered and then only on<br>
> > Unix.<br>
> ><br>
> > In any case, Adam Bartos, python-list, "An asyncio example", today asks.<br>
> > '''<br>
> > This is a minimal example:<br>
> ><br>
> > import asyncio<br>
> ><br>
> > async def wait():<br>
> >     await asyncio.sleep(5)<br>
> ><br>
> > loop = asyncio.get_event_loop()<br>
> > loop.run_until_complete(wait())<br>
> ><br>
> > Ctrl-C doesn't interrupt the waiting, instead KeyboardInterrupt occurs<br>
> > after those five seconds. It's 3.5.0b2 on Windows. Is it a bug?<br>
> > '''<br>
> ><br>
> > Using run_forever instead, I found no way to stop other than killing the<br>
> > process (Idle or Command Prompt).<br>
> ><br>
> > --<br>
> > Terry Jan Reedy<br>
> ><br>
> > _______________________________________________<br>
> > Python-Dev mailing list<br>
> > <a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
> > <a href="https://mail.python.org/mailman/listinfo/python-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-dev</a><br>
> > Unsubscribe:<br>
> > <a href="https://mail.python.org/mailman/options/python-dev/guido%40python.org" rel="noreferrer" target="_blank">https://mail.python.org/mailman/options/python-dev/guido%40python.org</a><br>
> ><br>
><br>
><br>
><br>
> --<br>
> --Guido van Rossum (<a href="http://python.org/~guido" rel="noreferrer" target="_blank">python.org/~guido</a>)<br>
> _______________________________________________<br>
> Python-Dev mailing list<br>
> <a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
> <a href="https://mail.python.org/mailman/listinfo/python-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-dev</a><br>
</div></div>> Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/rdmurray%40bitdance.com" rel="noreferrer" target="_blank">https://mail.python.org/mailman/options/python-dev/rdmurray%40bitdance.com</a><br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/guido%40python.org" rel="noreferrer" target="_blank">https://mail.python.org/mailman/options/python-dev/guido%40python.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div>