alarm(3)

alarm3

Set signal timer alarm

Usage

#include <unistd.h>

unsigned int

alarm(unsigned int seconds);

Library

Standard C Library (libc, -lc)

Overview

This interface is made obsolete by setitimer(2).

The alarm() function sets a timer to deliver the signal SIGALRM to the calling process after the specified number of seconds. If an alarm has already been set with alarm() but has not been delivered, another call to alarm() will supersede the prior call. The request alarm(0) voids the current alarm and the signal SIGALRM will not be delivered.

Due to setitimer(2) restriction the maximum number of seconds allowed is 100,000,000.

Return values

The return value of alarm() is the amount of time left on the timer from a previous call to alarm(). If no alarm is currently set, the return value is 0.

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 45 times.

  1. 2.0.5–2.1.7.1
  2. 2.2.2–2.2.6
  3. 2.2.7–3.4
  4. 3.5–3.5.1
  5. 4.0
  6. 4.1–4.2
  7. 4.3
  8. 4.4
  9. 4.5–4.7
  10. 4.8–4.11
  11. 5.0
  12. 5.1–6.3
  13. 6.4
  14. 7.0
  15. 7.1
  16. 7.2
  17. 7.3
  18. 7.4
  19. 8.0
  20. 8.1
  21. 8.2
  22. 8.3
  23. 8.4
  24. 9.0
  25. 9.1
  26. 9.2
  27. 9.3
  28. 10.0
  29. 10.1
  30. 10.2
  31. 10.3
  32. 10.4
  33. 11.0
  34. 11.1
  35. 11.2
  36. 11.3
  37. 11.4
  38. 12.0
  39. 12.1
  40. 12.2
  41. 12.3
  42. 12.4
  43. 13.0–13.1
  44. 13.2
  45. 13.3–14.5
  46. 15.0–16.0

History

An alarm() system call appeared in the Programmer's Workbench (PWB/UNIX) and was ported to Version 7 AT&T UNIX. For 4.1cBSD, it was reimplemented as a wrapper around the setitimer(2) system call.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.