
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
On Sun, Oct 19, 2014 at 3:44 PM, Jeffrey Brown
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 http://hackage.haskell.org/package/posix-realtime-0.0.0.1/src/System/Posix/R... for the posix-realtime package https://hackage.haskell.org/package/posix-realtime 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