
On Mon, Apr 10, 2006 at 02:40:20PM +0200, Henning Thielemann wrote:
My question: Is there some more accurate time scheduling available? Maybe not only a more accurate 'wait' function but a function which processes a list of events and starts the actions at the appropriate time points. When I write
do action0 threadDelay t action1
then action1 is not started duration t after action0 is started, but time t after action0 is finished.
You can try my prototype implementation of retryIfBefore/retryIfAfter STM actions. Internally, it uses threadDelay (through a fake registerTimeout), so it may have the same problems as threadDelay, but: - IIRC, Simon Marlow implemented registerTimeout for GHC 6.6 - maybe it is more accurate than threadDelay... hmmm... I have HEAD somewhere, so I'll try how it works - I could try some other waiting mechanism for short intervals The use of retryIfBefore would be: do t0 <- getCurrentTime action0 atomically (retryIfBefore (addUTCTime t t0)) action1 but for such a simple task, something simpler could be better The code is in a darcs repo here: http://www.uncurry.com/repos/stm-time/ Best regards Tomasz