
On 22 February 2011 03:10, Johan Tibell
On Mon, Feb 21, 2011 at 3:16 PM, Bas van Dijk
wrote: On 21 February 2011 21:55, Johan Tibell
wrote: ...include TimeoutKey in the TimeoutCallback type.
Done: http://hackage.haskell.org/trac/ghc/attachment/ticket/4963/faster_timeout.dp...
Could we store a full TimeoutCallback in the PSQ? At the line that reads
sequence_ $ map Q.value expired
you'll need to pass the PSQ key (which is the Unique) to the callback.
Good point. Something like this: sequence_ $ map (\(Elem key _ cb) -> cb (TK key)) expired
Most callbacks will ignore this key but by doing this we 1) decrease the size of the closure we store in the PSQ and 2) make the mechanism more flexible for future use.
Ok, I will apply it this evening. Bas