Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
iv_timer(3)		  ivykis programmer's manual		   iv_timer(3)

       iv_timer_register, iv_timer_unregister, iv_timer_registered - deal with
       ivykis timers

       #include	<iv.h>

       struct iv_timer {
	       struct timespec	       expires;
	       void		       *cookie;
	       void		       (*handler)(void *);

       void IV_TIMER_INIT(struct iv_timer *timer);
       void iv_timer_register(struct iv_timer *timer);
       void iv_timer_unregister(struct iv_timer	*timer);
       int iv_timer_registered(const struct iv_timer *timer);

       The functions iv_timer_register and iv_timer_unregister	register,  re-
       spectively  unregister,	a timer	with the current thread's ivykis event
       loop.  iv_timer_registered on a timer returns true  if  that  timer  is
       currently registered with ivykis.

       When  a	timer  that  is	registered becomes 'ready', due	to the current
       system clock value becoming greater than	or equal to the	timer's	 ->ex-
       pires  member  field,  the  callback function specified by ->handler is
       called in the thread that the timer was registered in, with ->cookie as
       its first and sole argument.  When this happens,	the timer is transpar-
       ently unregistered.

       The application is allowed to change the	->cookie and ->handler members
       at  any	time.	The application	is not allowed to change the ->expires
       member while the	timer is registered.

       A given struct iv_timer can only	be registered in one thread at a time,
       and  a  timer can only be unregistered in the thread that it was	regis-
       tered from.

       There is	no limit on the	number of timers registered at once.

       See iv_examples(3) for programming examples.

       ivykis(3), iv_examples(3)

ivykis				  2010-08-15			   iv_timer(3)


Want to link to this manual page? Use this URL:

home | help