kqueue bug in FreeBSD 6.x

Dmitry Morozovsky marck at rinet.ru
Sun Apr 2 13:20:30 MSD 2006


On Thu, 30 Mar 2006, Igor Sysoev wrote:

IS> Ошибка исправлена:
IS> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/kern_event.c.diff?r1=1.95&r2=1.96
IS> 
IS> Исправление попадёт в 6.1-RELEASE.

Изменение внесено в ветку RELENG_6, желающие могут обновляться, или подождать 
очередной 6.1-BETA.

На всякий случай патч в аттаче.

Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck at rinet.ru ***
------------------------------------------------------------------------
-------------- next part --------------
Index: sys/kern/kern_event.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/kern_event.c,v
retrieving revision 1.93.2.1
retrieving revision 1.93.2.2
diff -u -r1.93.2.1 -r1.93.2.2
--- sys/kern/kern_event.c	18 Sep 2005 15:03:31 -0000	1.93.2.1
+++ sys/kern/kern_event.c	2 Apr 2006 08:21:13 -0000	1.93.2.2
@@ -920,11 +920,11 @@
 		 * which will remove it from the list, and NULL kn_knlist.
 		 */
 		event = kn->kn_fop->f_event(kn, 0);
-		KN_LIST_UNLOCK(kn);
 		KQ_LOCK(kq);
 		if (event)
 			KNOTE_ACTIVATE(kn, 1);
 		kn->kn_status &= ~KN_INFLUX;
+		KN_LIST_UNLOCK(kn);
 	} else if (kev->flags & EV_DELETE) {
 		kn->kn_status |= KN_INFLUX;
 		KQ_UNLOCK(kq);


More information about the nginx-ru mailing list