cvs commit: src/sys/cam/scsi scsi_target.c src/sys/dev/mii
mii.c src/sys/fs/fifofs fifo_vnops.c src/sys/gnu/ext2fs
ext2_vnops.c src/sys/kern init_main.c kern_conf.c kern_descrip.c
kern_event.c kern_exec.c kern_exit.c kern_fork.c kern_sig.c
sys_pipe.c tty.c ...
Brian Fundakowski Feldman
green at FreeBSD.org
Sun Aug 15 18:42:52 PDT 2004
On Sun, Aug 15, 2004 at 06:24:43AM +0000, John-Mark Gurney wrote:
> jmg 2004-08-15 06:24:43 UTC
>
> FreeBSD src repository
>
> Modified files:
> sys/cam/scsi scsi_target.c
> sys/dev/mii mii.c
> sys/fs/fifofs fifo_vnops.c
> sys/gnu/ext2fs ext2_vnops.c
> sys/kern init_main.c kern_conf.c kern_descrip.c
> kern_event.c kern_exec.c kern_exit.c
> kern_fork.c kern_sig.c sys_pipe.c tty.c
> tty_cons.c uipc_socket.c uipc_socket2.c
> uipc_syscalls.c vfs_aio.c vfs_subr.c
> vfs_vnops.c
> sys/net bpf.c if.c if_var.h if_vlan.c
> sys/sys event.h eventvar.h filedesc.h proc.h
> selinfo.h vnode.h
> sys/ufs/ffs ffs_vnops.c
> sys/ufs/ufs ufs_acl.c ufs_vnops.c
> Log:
> Add locking to the kqueue subsystem. This also makes the kqueue subsystem
> a more complete subsystem, and removes the knowlege of how things are
> implemented from the drivers. Include locking around filter ops, so a
> module like aio will know when not to be unloaded if there are outstanding
> knotes using it's filter ops.
>
> Currently, it uses the MTX_DUPOK even though it is not always safe to
> aquire duplicate locks. Witness currently doesn't support the ability
> to discover if a dup lock is ok (in some cases).
Yay, kqueues for 5.3-RELEASE that won't panic/lock up my system!! Do you
think we should make this change now?
Index: kern_descrip.c
===================================================================
RCS file: /usr/ncvs/src/sys/kern/kern_descrip.c,v
retrieving revision 1.242
diff -u -r1.242 kern_descrip.c
--- kern_descrip.c 15 Aug 2004 06:24:40 -0000 1.242
+++ kern_descrip.c 15 Aug 2004 23:56:05 -0000
@@ -684,7 +684,6 @@
fdp->fd_ofileflags[new] = fdp->fd_ofileflags[old] &~ UF_EXCLOSE;
if (new > fdp->fd_lastfile)
fdp->fd_lastfile = new;
- FILEDESC_UNLOCK(fdp);
*retval = new;
/*
@@ -695,7 +694,8 @@
* XXX this duplicates parts of close().
*/
if (delfp != NULL) {
- /* XXX need to call knote_fdclose() */
+ knote_fdclose(td, new);
+ FILEDESC_UNLOCK(fdp);
mtx_lock(&Giant);
(void) closef(delfp, td);
mtx_unlock(&Giant);
@@ -709,6 +709,8 @@
}
FILEDESC_UNLOCK(fdp);
}
+ } else {
+ FILEDESC_UNLOCK(fdp);
}
return (0);
}
Also, would you mind if I gave it a quick once-over for the bigger style(9)
concerns? No functional changes/code moving, just parentheses and such.
--
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> green at FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
More information about the cvs-src
mailing list