Date: Sun, 19 Sep 1999 10:00:26 -0700 (PDT) From: Brian Feldman <green@FreeBSD.org> 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 ... Message-ID: <199909191700.KAA05277@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909191700.KAA05277>
