Module Name: src
Committed By: christos
Date: Fri Feb 26 17:08:58 UTC 2016
Modified Files:
src/sys/kern: kern_time.c
src/sys/sys: timevar.h
Log Message:
Make comments and code match reality; there are 4 reserved timers.
To generate a diff of this commit:
cvs rdiff -u -r1.182 -r1.183 src/sys/kern/kern_time.c
cvs rdiff -u -r1.34 -r1.35 src/sys/sys/timevar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/kern_time.c
diff -u src/sys/kern/kern_time.c:1.182 src/sys/kern/kern_time.c:1.183
--- src/sys/kern/kern_time.c:1.182 Tue Oct 6 11:03:34 2015
+++ src/sys/kern/kern_time.c Fri Feb 26 12:08:58 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_time.c,v 1.182 2015/10/06 15:03:34 christos Exp $ */
+/* $NetBSD: kern_time.c,v 1.183 2016/02/26 17:08:58 christos Exp $ */
/*-
* Copyright (c) 2000, 2004, 2005, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.182 2015/10/06 15:03:34 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.183 2016/02/26 17:08:58 christos Exp $");
#include <sys/param.h>
#include <sys/resourcevar.h>
@@ -512,7 +512,7 @@ adjtime1(const struct timeval *delta, st
*
* All timers are kept in an array pointed to by p_timers, which is
* allocated on demand - many processes don't use timers at all. The
- * first three elements in this array are reserved for the BSD timers:
+ * first four elements in this array are reserved for the BSD timers:
* element 0 is ITIMER_REAL, element 1 is ITIMER_VIRTUAL, element
* 2 is ITIMER_PROF, and element 3 is ITIMER_MONOTONIC. The rest may be
* allocated by the timer_create() syscall.
@@ -578,7 +578,7 @@ timer_create1(timer_t *tid, clockid_t id
/* Find a free timer slot, skipping those reserved for setitimer(). */
mutex_spin_enter(&timer_lock);
- for (timerid = 3; timerid < TIMER_MAX; timerid++)
+ for (timerid = TIMER_MIN; timerid < TIMER_MAX; timerid++)
if (pts->pts_timers[timerid] == NULL)
break;
if (timerid == TIMER_MAX) {
@@ -1258,7 +1258,7 @@ timers_free(struct proc *p, int which)
&ptn->pt_time.it_value);
LIST_INSERT_HEAD(&pts->pts_prof, ptn, pt_list);
}
- i = 3;
+ i = TIMER_MIN;
}
for ( ; i < TIMER_MAX; i++) {
if (pts->pts_timers[i] != NULL) {
@@ -1267,7 +1267,7 @@ timers_free(struct proc *p, int which)
}
}
if (pts->pts_timers[0] == NULL && pts->pts_timers[1] == NULL &&
- pts->pts_timers[2] == NULL) {
+ pts->pts_timers[2] == NULL && pts->pts_timers[3] == NULL) {
p->p_timers = NULL;
mutex_spin_exit(&timer_lock);
pool_put(&ptimers_pool, pts);
Index: src/sys/sys/timevar.h
diff -u src/sys/sys/timevar.h:1.34 src/sys/sys/timevar.h:1.35
--- src/sys/sys/timevar.h:1.34 Fri Aug 7 04:11:33 2015
+++ src/sys/sys/timevar.h Fri Feb 26 12:08:58 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: timevar.h,v 1.34 2015/08/07 08:11:33 ozaki-r Exp $ */
+/* $NetBSD: timevar.h,v 1.35 2016/02/26 17:08:58 christos Exp $ */
/*
* Copyright (c) 2005, 2008 The NetBSD Foundation.
@@ -92,6 +92,8 @@ struct ptimer {
#define pt_list pt_data.pt_nonreal.pt_list
#define pt_active pt_data.pt_nonreal.pt_active
+#define TIMER_MIN 4 /* [0..3] are reserved for setitimer(2) */
+ /* REAL=0,VIRTUAL=1,PROF=2,MONOTONIC=3 */
#define TIMER_MAX 32 /* See ptimers->pts_fired if you enlarge this */
#define TIMERS_ALL 0
#define TIMERS_POSIX 1