I think threadDelay is the wrong operation here. Its fundamentally a primitive for *spreading out* compute, rather than scheduling compute.
one (crazy) idea might be the following, say you wanna do an event every X milli seconds (with some error tolerance about the precise timing),
do a threadDelay for  1/2-2/3rds X, then poll the time constantly :) 

OTOH, as other folks are suggesting, theres probably fundamentally better primitives already available.

On Sun, Oct 19, 2014 at 5:11 PM, Brandon Allbery <allbery.b@gmail.com> wrote:
On Sun, Oct 19, 2014 at 3:44 PM, Jeffrey Brown <jeffbrown.the@gmail.com> wrote:
You mean I should call chrt from the command line after starting the process, to modify its priority?

Normally you'd use it to run the program. But, as I said at least twice, it's Linux specific.
 
This documentation for the posix-realtime package says that it has a sched_setscheduler function. That supposedly exists on my OS (OS X 10.9). The chrt command, on the other hand,

Does it warn you that you need privileges (probably root) to switch to a higher scheduler level? Normally realtime and other high priority schedulers require elevated privileges, whereas lower priority schedulers such as SCHED_IDLE don't.

I should note that I see no manpage for sched_setscheduler on 10.9.5, nor do I find it in any of the dylibs in /usr/lib.

--
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe