Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/kern Unfortunately, we can't really know if select colli...
details: https://anonhg.NetBSD.org/src/rev/d98eb026204e
branches: trunk
changeset: 539990:d98eb026204e
user: jdolecek <jdolecek%NetBSD.org@localhost>
date: Sat Nov 30 13:46:58 2002 +0000
description:
Unfortunately, we can't really know if select collision is needed
until after wakeup event, so we can't clear the SI_COLL flag
in selrecord(). Thus, effectively back rev. 1.57 off.
Problem reported in PR kern/17517 by David Laight, program triggering
the problem is in regress/sys/kern/poll/poll3w.c.
diffstat:
sys/kern/sys_generic.c | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
diffs (30 lines):
diff -r 93cf0b5a9f08 -r d98eb026204e sys/kern/sys_generic.c
--- a/sys/kern/sys_generic.c Sat Nov 30 13:46:26 2002 +0000
+++ b/sys/kern/sys_generic.c Sat Nov 30 13:46:58 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sys_generic.c,v 1.67 2002/11/29 19:48:22 jdolecek Exp $ */
+/* $NetBSD: sys_generic.c,v 1.68 2002/11/30 13:46:58 jdolecek Exp $ */
/*
* Copyright (c) 1982, 1986, 1989, 1993
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_generic.c,v 1.67 2002/11/29 19:48:22 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_generic.c,v 1.68 2002/11/30 13:46:58 jdolecek Exp $");
#include "opt_ktrace.h"
@@ -939,10 +939,8 @@
if (sip->sel_pid && (p = pfind(sip->sel_pid)) &&
p->p_wchan == (caddr_t)&selwait)
sip->sel_flags |= SI_COLL;
- else {
- sip->sel_flags &= ~SI_COLL;
+ else
sip->sel_pid = mypid;
- }
}
/*
Home |
Main Index |
Thread Index |
Old Index