Re: Timer in C
- From: scott@xxxxxxxxxxxxx (Scott Lurndal)
- Date: Mon, 28 Apr 2008 15:34:46 GMT
Alexander Mahone <salvodanilogiuffrida@xxxxxxxxx> writes:
Hello, I'm referring to a thread that I started some days ago on
comp.lang.c:
http://groups.google.it/group/comp.lang.c/browse_thread/thread/f99fda3046794678/297684b31a81dcd2?hl=it&lnk=gst&q=timer#297684b31a81dcd2.
I read various documentation on the Internet, but I think neither
ualarm() or setitimer() satisfy me completely. What I need to do, in
fact, is create a series of different timers inside a process, like
timer objects (of course, not true objects, but conceptually it's like
an object), each one referrable, with some kind of reference (a
pointer). Then, under certain conditions, I need to reset one or more
of them (that's why I need some way to refer to every single timer
specificly), to prevent them sending the SIGALARM (any other kind of
signal they might send), because otherwise I line in the console is
written with 'puts("Alarm: The timer x has expired")' or printf(), at
each expiration of each timer.
From what I've read, both ualarm() and setitimer() (the first isactually based on the second) allows you to manage one single global
timer, the one of the caller process...
So, in my opinion (correct me if I'm wrong, my knownledge of C is
quite limited) the only 2 ways to do this would be:
1 - Create a series of threads, one for each timer I want to create,
and inside each thread call ualarm(), to set the per-thread timer...Or
maybe I'd need to create child processes, instead of threads?
2 - Use a series of timer_create(), without the need to create any per-
timer thread...
Is there a simpler and more lightweight way to do this?
Thanks a lot
Link your "timer objects" into a sorted list (shortest wakeup first);
Using a single thread, have it wait until the next wakeup, then deliver
the timer (raise a signal, signal a condition variable, post a bit,
whatever), delink the element and wait for the next wakeup.
scott
.
- References:
- Timer in C
- From: Alexander Mahone
- Timer in C
- Prev by Date: Re: How to suppress 'Entering/Leaving ...' messages while running make?
- Next by Date: Re: TCP connect in Non Blocking Mode
- Previous by thread: Timer in C
- Next by thread: Re: Timer in C
- Index(es):
Relevant Pages
|