diff options
author | Reyk Floeter <reyk@cvs.openbsd.org> | 2007-03-30 14:21:52 +0000 |
---|---|---|
committer | Reyk Floeter <reyk@cvs.openbsd.org> | 2007-03-30 14:21:52 +0000 |
commit | e2f83eae7489f832c7819f3b721078bcf8d1c1a0 (patch) | |
tree | ef9c5d1eabf814b403567cb8dd0c6646d73b9cc5 /sys/kern | |
parent | 1c4c3333a203ad63d1eeacd357e6ec394b4686ca (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.c | 4 |
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) { |