Manpages - alarm.2

Table of Contents

NAME

alarm - set an alarm clock for delivery of a signal

SYNOPSIS

  #include <unistd.h>

  unsigned int alarm(unsigned int seconds);

DESCRIPTION

alarm*() arranges for a *SIGALRM signal to be delivered to the calling process in seconds seconds.

If seconds is zero, any pending alarm is canceled.

In any event any previously set *alarm*() is canceled.

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.

CONFORMING TO

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

NOTES

*alarm*() and *setitimer*(2) share the same timer; calls to one will interfere with use of the other.

Alarms created by *alarm*() are preserved across *execve*(2) and are not inherited by children created via *fork*(2).

sleep*(3) may be implemented using *SIGALRM; mixing calls to *alarm*() 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.

SEE ALSO

*gettimeofday*(2), *pause*(2), *select*(2), *setitimer*(2), *sigaction*(2), *signal*(2), *timer_create*(2), *timerfd_create*(2), *sleep*(3), *time*(7)

COLOPHON

This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Author: dt

Created: 2022-02-23 Wed 11:31