Windows - select.select, timeout and KeyboardInterrupt

Antoine Pitrou solipsis at pitrou.net
Fri May 7 14:37:25 EDT 2010


Le Fri, 07 May 2010 16:36:44 +0200, Giampaolo Rodolà a écrit :
> You can easily avoid this by setting a lower timeout when calling
> asyncore.loop(), like 1 second or less (for example, Twisted uses 0.001
> secs).
> Actually there's no reason for asyncore to have such a high default
> timeout (30 seconds).

The reason for a high default timeout would be to avoid waking the CPU 
and do useless work too often. This is important on laptops and smaller 
devices, in order to conserve power.

Under Unix, it's easy to have a separate fd on which you write a byte 
when an signal comes, and which wakes up your select() call. Under 
Windows, it may be more involved -- first because select() only takes 
sockets, not pipes.




More information about the Python-list mailing list