err, I suppose the missing bit there is that you'll probably want to:<br><br>reactor.callLater(timeout, d.cancel)<br><br>As opposed to calling d.cancel() directly. (That snippet was in bpython-urwid with the reactor running in the background, but I doubt it'd work well anywhere else outside of manholes :))<br>

<br>cheers<br>lvh<br>