summaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorReyk Floeter <reyk@cvs.openbsd.org>2007-03-30 14:21:52 +0000
committerReyk Floeter <reyk@cvs.openbsd.org>2007-03-30 14:21:52 +0000
commite2f83eae7489f832c7819f3b721078bcf8d1c1a0 (patch)
treeef9c5d1eabf814b403567cb8dd0c6646d73b9cc5 /sys/kern
parent1c4c3333a203ad63d1eeacd357e6ec394b4686ca (diff)
change a misplaced splnet() in kqueue_poll() to splhigh(). fixes a
random panics with kqueue under high load with many events. tested by me cookies for dlg@ deraadt@ ok dlg@ tedu@ art@
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_event.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c
index c4a227c5ced..d4b1957c653 100644
--- a/sys/kern/kern_event.c
+++ b/sys/kern/kern_event.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_event.c,v 1.28 2006/12/01 07:17:25 camield Exp $ */
+/* $OpenBSD: kern_event.c,v 1.29 2007/03/30 14:21:51 reyk Exp $ */
/*-
* Copyright (c) 1999,2000,2001 Jonathan Lemon <jlemon@FreeBSD.org>
@@ -703,7 +703,7 @@ kqueue_poll(struct file *fp, int events, struct proc *p)
{
struct kqueue *kq = (struct kqueue *)fp->f_data;
int revents = 0;
- int s = splnet();
+ int s = splhigh();
if (events & (POLLIN | POLLRDNORM)) {
if (kq->kq_count) {