ualarm

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
UALARM(3)		  Linux Programmer’s Manual		    UALARM(3)



NAME
       ualarm - schedule signal after given number of microseconds

SYNOPSIS
       /* BSD version */
       #include <unistd.h>

       unsigned int
       ualarm(unsigned int usecs, unsigned int interval);

       /* SUSv2 version */
       #define _XOPEN_SOURCE 500
       #include <unistd.h>

       useconds_t ualarm(useconds_t usecs, useconds_t interval);

DESCRIPTION
       The  ualarm()  function	causes	the  signal SIGALRM to be sent to the
       invoking process after (not less than) usecs microseconds.  The	delay
       may be lengthened slightly by any system activity or by the time spent
       processing the call or by the granularity of system timers.

       Unless caught or ignored, this signal will terminate the process.

       If the interval argument is nonzero, further SIGALRM signals  will  be
       sent every interval microseconds after the first.

RETURN VALUE
       This  function  returns	the number of microseconds remaining from the
       previous call, or 0 when no alarm is pending.

ERRORS
       EINTR  Interrupted by a signal.

       EINVAL usecs or interval is not smaller	than  1000000.	 (On  systems
	      where that is considered an error.)

CONFORMING TO
       BSD  4.3,  POSIX	 1003.1-2003.  BSD 4.3, SUSv2 and POSIX do not define
       any errors.

NOTES
       The type useconds_t is an unsigned integer  type	 capable  of  holding
       integers	  in   the  range  [0,1000000].	  This	type  is  defined  by
       <sys/types.h> included by <unistd.h> but glibc defines  it  only	 when
       _XOPEN_SOURCE has a value not less than 500, or both _XOPEN_SOURCE and
       _XOPEN_SOURCE_EXTENDED are defined.  Programs will be more portable if
       they never mention this type explicitly.

       The  interaction	 of  this function with other timer functions such as
       alarm(),	  sleep(),    nanosleep(),    setitimer(),    timer_create(),
       timer_delete(),	timer_getoverrun(), timer_gettime(), timer_settime(),
       usleep() is unspecified.

       This function is obsolete. Use nanosleep(2) or setitimer(2) instead.

SEE ALSO
       alarm(2),   getitimer(2),   nanosleep(2),   select(2),	setitimer(2),
       usleep(3)



				  2003-07-24			    UALARM(3)