Index: kern_event.c =================================================================== RCS file: /usr/repo/src/sys/kern/kern_event.c,v retrieving revision 1.99 diff -u -p -r1.99 kern_event.c --- kern_event.c 14 Apr 2006 14:27:28 -0000 1.99 +++ kern_event.c 1 Jun 2006 09:13:05 -0000 @@ -813,7 +813,7 @@ findkn: if (fp->f_data == kq) { FILEDESC_UNLOCK(fdp); error = EINVAL; - goto done_noglobal; + goto done; } KQ_GLOBAL_LOCK(&kq_global, haskqglobal); @@ -869,6 +869,7 @@ findkn: kn = tkn; tkn = NULL; if (kn == NULL) { + KQ_UNLOCK(kq); error = ENOMEM; goto done; } @@ -954,7 +955,6 @@ findkn: done: KQ_GLOBAL_UNLOCK(&kq_global, haskqglobal); -done_noglobal: if (fp != NULL) fdrop(fp, td); if (tkn != NULL)