1 .\"  Copyright (c) 1980 Regents of the University of California.  All rights reserved.  The Berkeley software License Agreement specifies the terms and conditions for redistribution.  Copyright (c) 2002, Sun Microsystems, Inc.  All Rights Reserved  Portions Copyright (c) 1992,
   2 .\" X/Open Company Limited  All Rights Reserved
   3 .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at
   4 .\" http://www.opengroup.org/bookstore/.
   5 .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
   6 .\"  This notice shall appear on any product containing this material.
   7 .Dd "Jul 22, 2014"
   8 .Dt UALARM 3C
   9 .Os
  10 .Sh NAME
  11 .Nm ualarm
  12 .Nd schedule signal after interval in microseconds
  13 .Sh SYNOPSIS
  14 .In unistd.h
  15 .Ft useconds_t
  16 .Fn ualarm "Buseconds_t useconds" "useconds_t interval"
  17 .Sh DESCRIPTION
  18 The
  19 .Fn ualarm
  20 function causes the
  21 .Dv SIGALRM
  22 signal to be generated for
  23 the calling process after the number of real-time microseconds specified by the
  24 .Fa useconds argument has elapsed.  When the
  25 .Fa interval
  26 argument is
  27 non-zero, repeated timeout notification occurs with a period in microseconds
  28 specified by the \fIinterval\fR argument. If the notification signal,
  29 .Dv SIGALRM ,
  30 is not caught or ignored, the calling process is terminated.
  31 .Lp
  32 Because of scheduling delays, resumption of execution when the signal is caught
  33 may be delayed an arbitrary amount of time.
  34 .Lp
  35 Interactions between
  36 .Fn ualarm
  37 and either
  38 .Xr alarm 2
  39 or
  40 .Xr sleep 3C
  41 are unspecified.
  42 .Sh RETURN VALUES
  43 The
  44 .Fn ualarm
  45 function returns the number of microseconds remaining from
  46 the previous
  47 .Fn ualarm
  48 call.  If no timeouts are pending or if
  49 .Fn ualarm
  50 has not previously been called,
  51 .Fn ualarm
  52 returns 0.
  53 .Sh ERRORS
  54 No errors are defined.
  55 .Sh USAGE
  56 The
  57 .Fn ualarm
  58 function is a simplified interface to
  59 .Xr setitimer 2 ,
  60 and uses the
  61 .Dv ITIMER_REAL
  62 interval timer. It's use has been deprecated in favor of the
  63 .Xr timer_create 3C
  64 family of functions.
  65 .Sh INTERFACE STABILITY
  66 .Sy Obsolete Standard .
  67 .Sh SEE ALSO
  68 .Xr alarm 2 ,
  69 .Xr setitimer(2),
  70 .Xr sighold 3C ,
  71 .Xr signal 3C ,
  72 .Xr sleep 3C ,
  73 .Xr timer_create 3C ,
  74 .Xr usleep 3C ,
  75 .Xr standards 5
  76 .Sh STANDARDS
  77 The
  78 .Fn ualarm
  79 function was introduced in
  80 .Bx 4.3
  81 and standardized in
  82 .St -xpg4.2 .
  83 It was subsequently obsoleted in
  84 .St -p1003.1-2001
  85 and removed from
  86 .St -p1003.1-2008 .