#
1.13 |
|
07-Jan-2021 |
cheloha |
sleep(3): don't bypass nanosleep(2) if seconds is zero
sleep(3) does not call nanosleep(2) if seconds is zero. This is bad. As a simplified interface to nanosleep(2), sleep(3) should delegate all decisions about whether or not to yield the CPU to nanosleep(2).
This patch removes the nanosleep(2) bypass from sleep(3).
This means that this code:
sleep(0);
will block for up to 1 tick, just like the equivalent nanosleep(2) call.
Neither FreeBSD nor NetBSD bypass nanosleep(2) in the zero case, so this commit brings our sleep(3) closer to theirs in behavior.
As an added bonus, sleep(3) will now *always* appear in a ktrace(1) as a call to nanosleep(2).
ok millert@
|
Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE
|
#
1.12 |
|
14-Dec-2009 |
guenther |
sleep(3) is supposed to return zero when it sleeps the entire amount
ok deraadt@
|
Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.11 |
|
08-Aug-2005 |
espie |
zap remaining rcsid.
Kill old files that are no longer compiled.
okay theo
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
|
#
1.10 |
|
18-May-2004 |
jfb |
ansify function definitions and zap some `register'
ok millert@
|
Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
|
#
1.9 |
|
25-Jun-2003 |
deraadt |
pull in headers
|
#
1.8 |
|
02-Jun-2003 |
millert |
Remove the advertising clause in the UCB license which Berkeley rescinded 22 July 1999. Proofed by myself and Theo.
|
Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
|
#
1.7 |
|
25-Apr-1997 |
tholo |
Use nanosleep(2)
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.6 |
|
30-Sep-1996 |
deraadt |
if interrupted, return time unslept; from phil nelson
|
#
1.5 |
|
15-Sep-1996 |
tholo |
Remove dead code Remove unused variables Silence some warnings lint(1) is your friend
|
#
1.4 |
|
19-Aug-1996 |
tholo |
Fix RCS ids Make sure everything uses {SYS,}LIBC_SCCS properly
|
#
1.3 |
|
26-May-1996 |
deraadt |
signal mask repair, netbsd pr#2442
|
#
1.2 |
|
28-Oct-1995 |
deraadt |
Eliminate race by stopping timer before restarting it with remaining time (one more system call).
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.12 |
|
14-Dec-2009 |
guenther |
sleep(3) is supposed to return zero when it sleeps the entire amount
ok deraadt@
|
Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.11 |
|
08-Aug-2005 |
espie |
zap remaining rcsid.
Kill old files that are no longer compiled.
okay theo
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
|
#
1.10 |
|
18-May-2004 |
jfb |
ansify function definitions and zap some `register'
ok millert@
|
Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
|
#
1.9 |
|
25-Jun-2003 |
deraadt |
pull in headers
|
#
1.8 |
|
02-Jun-2003 |
millert |
Remove the advertising clause in the UCB license which Berkeley rescinded 22 July 1999. Proofed by myself and Theo.
|
Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
|
#
1.7 |
|
25-Apr-1997 |
tholo |
Use nanosleep(2)
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.6 |
|
30-Sep-1996 |
deraadt |
if interrupted, return time unslept; from phil nelson
|
#
1.5 |
|
15-Sep-1996 |
tholo |
Remove dead code Remove unused variables Silence some warnings lint(1) is your friend
|
#
1.4 |
|
19-Aug-1996 |
tholo |
Fix RCS ids Make sure everything uses {SYS,}LIBC_SCCS properly
|
#
1.3 |
|
26-May-1996 |
deraadt |
signal mask repair, netbsd pr#2442
|
#
1.2 |
|
28-Oct-1995 |
deraadt |
Eliminate race by stopping timer before restarting it with remaining time (one more system call).
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|