[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!meta title="alarm/setitimer"]] [[!tag open_issue_glibc open_issue_hurd]] `setitimer()`, called by `alarm()` when setting a new alarm, it is not able to disable on its own the timer when the alarm is fired the first time. On the other hand, manually invoking `alarm(0)` can cancel the running timer for `SIGALRM`. See also the attached file: on other OSes (e.g. Linux) it blocks waiting for a signal, while on GNU/Hurd it gets a new alarm and exits. [[alrm.c]] # IRC, freenode, #hurd, 2012-07-29 our setitimer is bugged it seems doesn't seem to leave a timer disarmed when the interval is set to 0 (which means a one shot timer is actually periodic ..)