Subject: CVS commit: src/sys/kern
To: None <firstname.lastname@example.org>
From: Nathan J Williams <email@example.com>
Date: 03/10/2003 23:49:57
Module Name: src
Committed By: nathanw
Date: Mon Mar 10 21:49:57 UTC 2003
Change the contract for timer_settime() (the internal routine, not the
syscall sys_timer_settime()) to take an absolute value for realtime
timers. This avoids a pair of gratiuitous conversions with the
possibility that the timer's intermediate value would be 0.0, which
would signal timer_settime() to cancel the timer.
Adjust callers of timer_settime() to compensate; catch the case where
sys_timer_settime() with an absolute time value of now and a virtual
timer would also be subtracted down to a timer-cancelling 0.0.
This should fix the bug seen in libpthread's nanosleep() where certain
applications, such as xmms, would wedge with unexpired userlevel
To generate a diff of this commit:
cvs rdiff -r1.66 -r1.67 src/sys/kern/kern_time.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.