Module Name: src Committed By: bouyer Date: Sat Nov 19 14:37:02 UTC 2011
Modified Files: src/sys/kern [netbsd-4]: kern_event.c Log Message: Pull up following revision(s) (requested by christos in ticket #1438): sys/kern/kern_event.c: revision 1.73 PR/45618: Motoyuki OHMORI: kqueue EVFILT_TIMER with smaller timeout value makes DIAGNOSTIC kernel panic: KASSERT((c->c_flags & CALLOUT_PENDING) !=3D 0); If the computed ticks are <= 0 set it to 1 To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.33.2.1 src/sys/kern/kern_event.c 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_event.c diff -u src/sys/kern/kern_event.c:1.33 src/sys/kern/kern_event.c:1.33.2.1 --- src/sys/kern/kern_event.c:1.33 Wed Nov 1 10:17:58 2006 +++ src/sys/kern/kern_event.c Sat Nov 19 14:37:02 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_event.c,v 1.33 2006/11/01 10:17:58 yamt Exp $ */ +/* $NetBSD: kern_event.c,v 1.33.2.1 2011/11/19 14:37:02 bouyer Exp $ */ /*- * Copyright (c) 1999,2000,2001 Jonathan Lemon <jle...@freebsd.org> @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_event.c,v 1.33 2006/11/01 10:17:58 yamt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_event.c,v 1.33.2.1 2011/11/19 14:37:02 bouyer Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -505,6 +505,8 @@ filt_timerexpire(void *knx) if ((kn->kn_flags & EV_ONESHOT) == 0) { tticks = mstohz(kn->kn_sdata); + if (tticks <= 0) + tticks = 1; callout_schedule((struct callout *)kn->kn_hook, tticks); } }