On Fri, Feb 15, 2013 at 02:36:37PM +0100, Stefan Hajnoczi wrote: > On Wed, Feb 13, 2013 at 02:22:08PM +0100, Kevin Wolf wrote: > > /** > > + * true if the request is sleeping in the COW delay and the coroutine > > may > > + * be reentered in order to cancel the timer. > > + */ > > + bool sleeping; > > Does reentering actually cancel the timer...or does it lead to a > spurious entry when the timer fires in the future? > > Do we need anything to really delete the timer in case we re-enter and > terminate the coroutine before the timer fires?
co_sleep_ns() supports this since commit 3ed99025, it cancels and deletes the timer. Block jobs use the same thing when you cancel them. Kevin