standards/53554: interval timers not cleared in fork()
Volker Stolz
stolz at i2.informatik.rwth-aachen.de
Fri Jun 20 07:30:13 PDT 2003
>Number: 53554
>Category: standards
>Synopsis: interval timers not cleared in fork()
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-standards
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Jun 20 07:30:11 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Volker Stolz
>Release: FreeBSD 4.8-STABLE i386
>Organization:
Lehrstuhl für Informatik II
>Environment:
System: FreeBSD menelaos.informatik.rwth-aachen.de 4.8-STABLE FreeBSD 4.8-STABLE #4: Tue Apr 29 11:28:13 CEST 2003 root at menelaos.informatik.rwth-aachen.de:/usr/obj/usr/src/sys/MENELAOS i386
>Description:
The FreeBSD man page says on calling fork():
"All interval timers are cleared; see setitimer(2)."
SUSv2 says that on invoking fork():
- If the Timers option is supported, per-process timers created by the
parent are not inherited by the child process.
However, a quick test reveals that only the REAL timer is stopped, PROF
and VIRTUAL keep running.
>How-To-Repeat:
Sample program which sets the timers, forks and checks if timers are still
enabled in the child at: http://www.foldr.org/~stolz/timer.c
virtual set: interval=1 500 value=1 500
REAL get: interval=0 0 value=0 0
PROF get: interval=1 500 value=1 500
VIRTUAL get: interval=1 500 value=1 500
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-standards
mailing list