Differences between version 2 and predecessor to the previous major change of alarm(2).
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 2 | Last edited on Monday, October 28, 2002 9:01:50 pm | by PerryLorier | Revert |
Older page: | version 1 | Last edited on Tuesday, June 4, 2002 12:23:39 am | by perry | Revert |
@@ -1,68 +1,44 @@
ALARM
!!!ALARM
-NAME
-SYNOPSIS
-DESCRIPTION
-RETURN VALUE
-NOTES
-CONFORMING TO
-SEE ALSO
+
----
!!NAME
alarm - set an alarm clock for delivery of a signal
!!SYNOPSIS
-__
#include
-__ ''seconds''__);
-
__
+
#include <unistd.h>
+ __unsigned int alarm(unsigned int
__ ''seconds''__); __
+
!!DESCRIPTION
+__alarm__ arranges for a [SIGALRM] signal to be delivered to the process in ''seconds'' seconds.
-__alarm__ arranges for a __SIGALRM__ signal to be
-delivered to the process in ''seconds''
-seconds
.
+If ''seconds'' is zero, no new
__alarm__ is scheduled
.
+In any event any previously set __alarm__ is cancelled.
-If ''seconds'' is zero, no new __alarm__ is
-scheduled
.
+If you want to wait for a time without using sleep(3) or alarm(2), then you might want to try select(2) with all the fdset
's set to . select(2) also lets you pause for a subsecond delay
.
+Since a [SIGALRM] will interrupt a running syscall it's common to use alarm(2) to timeout syscalls that may take some time, for example connect(2).
-In any event any previously set __alarm__ is
-cancelled.
!!RETURN VALUE
+__alarm__ returns the number of seconds remaining until any previously scheduled alarm was due to be delivered, or zero if there was no previously scheduled alarm.
-__alarm__ returns the number of seconds remaining until
-any previously scheduled alarm was due to be delivered, or
-zero if there was no previously scheduled
-alarm.
!!NOTES
+alarm(2) and setitimer(2) share the same timer; calls to one will interfere with use of the other.
-__alarm__ and __setitimer__ share the same timer
;
-
calls to one will interfere with use of the
-other
.
+sleep(3) may be implemented using [SIGALRM]
; mixing
calls to alarm(2) and sleep(3) is a bad idea
.
+Scheduling delays can, as ever, cause the execution of the process to be delayed by an arbitrary amount of time.
-__sleep()__ may be implemented using __SIGALRM__;
-mixing calls to __alarm()__ and __sleep()__ is a bad
-idea.
-
-
-Scheduling delays can, as ever, cause the execution of the
-process to be delayed by an arbitrary amount of
-time.
!!CONFORMING TO
-
SVr4, SVID, POSIX, X/OPEN, BSD 4.3
!!SEE ALSO
-
-
setitimer(2), signal(2), sigaction(2),
-
gettimeofday(2), select(2), pause(2),
-
sleep(3)
-----
+setitimer(2), signal(2), sigaction(2), gettimeofday(2), select(2), pause(2), sleep(3), select(2)