From owner-cvs-all Sun Sep 19 10: 0:38 1999 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 2C69F15060; Sun, 19 Sep 1999 10:00:27 -0700 (PDT) (envelope-from green@FreeBSD.org) Received: (from green@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id KAA05277; Sun, 19 Sep 1999 10:00:26 -0700 (PDT) (envelope-from green@FreeBSD.org) Message-Id: <199909191700.KAA05277@freefall.freebsd.org> From: Brian Feldman Date: Sun, 19 Sep 1999 10:00:26 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/ibcs2 ibcs2_fcntl.c ibcs2_ioctl.c src/sys/i386/linux linux_file.c linux_ioctl.c src/sys/kern kern_descrip.c sys_generic.c sys_pipe.c sys_socket.c uipc_syscalls.c vfs_aio.c vfs_vnops.c src/sys/sys file.h ... Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk green 1999/09/19 10:00:26 PDT Modified files: sys/i386/ibcs2 ibcs2_fcntl.c ibcs2_ioctl.c sys/i386/linux linux_file.c linux_ioctl.c sys/kern kern_descrip.c sys_generic.c sys_pipe.c sys_socket.c uipc_syscalls.c vfs_aio.c vfs_vnops.c sys/sys file.h socketvar.h sys/svr4 svr4_fcntl.c svr4_filio.c svr4_sockio.c svr4_stream.c svr4_termios.c svr4_ttold.c Log: This is what was "fdfix2.patch," a fix for fd sharing. It's pretty far-reaching in fd-land, so you'll want to consult the code for changes. The biggest change is that now, you don't use fp->f_ops->fo_foo(fp, bar) but instead fo_foo(fp, bar), which increments and decrements the fp refcount upon entry and exit. Two new calls, fhold() and fdrop(), are provided. Each does what it seems like it should, and if fdrop() brings the refcount to zero, the fd is freed as well. Thanks to peter ("to hell with it, it looks ok to me.") for his review. Thanks to msmith for keeping me from putting locks everywhere :) Reviewed by: peter Revision Changes Path 1.14 +2 -2 src/sys/i386/ibcs2/ibcs2_fcntl.c 1.13 +10 -11 src/sys/i386/ibcs2/ibcs2_ioctl.c 1.34 +2 -2 src/sys/i386/linux/linux_file.c 1.45 +20 -22 src/sys/i386/linux/linux_ioctl.c 1.68 +27 -20 src/sys/kern/kern_descrip.c 1.49 +11 -12 src/sys/kern/sys_generic.c 1.55 +7 -5 src/sys/kern/sys_pipe.c 1.27 +5 -3 src/sys/kern/sys_socket.c 1.58 +5 -1 src/sys/kern/uipc_syscalls.c 1.59 +5 -5 src/sys/kern/vfs_aio.c 1.82 +13 -8 src/sys/kern/vfs_vnops.c 1.20 +97 -3 src/sys/sys/file.h 1.41 +3 -3 src/sys/sys/socketvar.h 1.6 +2 -2 src/sys/svr4/svr4_fcntl.c 1.5 +2 -4 src/sys/svr4/svr4_filio.c 1.5 +3 -5 src/sys/svr4/svr4_sockio.c 1.5 +2 -3 src/sys/svr4/svr4_stream.c 1.4 +6 -8 src/sys/svr4/svr4_termios.c 1.4 +12 -17 src/sys/svr4/svr4_ttold.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message