From: "Eric I." Date: 2008-02-22T05:15:01+09:00 Subject: Re: Timers and Alarms On Feb 21, 12:57 pm, Hans Fugal wrote: > On Feb 21, 8:42 am, "Eric I." wrote: > > > What about a roll-your-own solution like: > > > def my_sleep(interval, granularity = 60) > >   end_time = Time.now + interval > > >   remaining = end_time - Time.now > >   while granularity < remaining > >     sleep granularity > >     remaining = end_time - Time.now > >   end > > >   sleep remaining > > end > > It's going to have to be something like this I think. I don't know how > much impact waking every so often (about once per second in my > situation) will have on power usage, but I see now that even setitimer > in C suffers the same problem sleep does with laptop suspend. Looking at my code, it may be best to change the next-to-last line to: sleep remaining if remaining > 0 Which OS are you using? On OS X the man page for setitimer claims there are three separate timers, one of which uses real time. From the man page: The ITIMER_REAL timer decrements in real time. A SIGALRM signal is delivered when this timer expires. I don't have any experience with using this, so I'm left with the man page. Eric ---- Are you interested in on-site Ruby training that's been highly reviewed by former students? http://LearnRuby.com