This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients bquinlan, gvanrossum, neologix, pitrou, r.david.murray, serhiy.storchaka
Date 2013-05-13.15:44:39
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1889772132.36458275.1368459873497.JavaMail.root@zimbra10-e2.priv.proxad.net>
In-reply-to <CAH_1eM2guxSELfb2L9nFKzTarLA+4ViUunUt+J=1MCHzaf9ucA@mail.gmail.com>
Content
> > To be honest I can't find much to say about this proposal,
> 
> Hum, OK, I thought it would be a useful addition :-)

It's probably useful, but I'd have to take a closer look. It's been
a long time I haven't used separate threads for timers...

> Note that the time function must be "real" time, since the sleep are
> based on condition.wait() (otherwise if you just call an arbitrary
> sleep() function you can't be woken up when a new task with an
> earlier
> deadline is submitted).

Agreed, but at least tornado supports a custom time function, even
though their event loop is based on epoll() (under Linux):
http://www.tornadoweb.org/en/stable/ioloop.html#tornado.ioloop.IOLoop.time

This means:
1) the custom time function is used to adjust the epoll() timeout
according to pending timed calls
2) the epoll() call times out based on the system time function

I suppose it works well enough when the divergence is not too large,
and/or the wakeups are frequent enough that there are no glaring defects.

"Practicality beats purity", I guess :)
History
Date User Action Args
2013-05-13 15:44:40pitrousetrecipients: + pitrou, gvanrossum, bquinlan, r.david.murray, neologix, serhiy.storchaka
2013-05-13 15:44:39pitroulinkissue17956 messages
2013-05-13 15:44:39pitroucreate