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

FreeBSD Manual Pages

  
 
  

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

NAME
       iv_timer_register, iv_timer_unregister, iv_timer_registered - deal with
       ivykis timers

SYNOPSIS
       #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);

DESCRIPTION
       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.

SEE ALSO
       ivykis(3), iv_examples(3)

ivykis				  2010-08-15			   iv_timer(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=iv_timer&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help