cvs commit: src/sys/bus/usb usb.c src/sys/conf subvers-DEVELOPMENT_1_5 src/sys/dev/drm drm_drv.h src/sys/dev/misc/snp snp.c src/sys/dev/sound/pcm channel.c channel.h dsp.c src/sys/dev/usbmisc/ugen ugen.c ...
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Jun 13 01:18:21 PDT 2006
dillon 2006/06/13 01:12:04 PDT
DragonFly src repository
Modified files:
sys/bus/usb usb.c
sys/conf subvers-DEVELOPMENT_1_5
sys/dev/drm drm_drv.h
sys/dev/misc/snp snp.c
sys/dev/sound/pcm channel.c channel.h dsp.c
sys/dev/usbmisc/ugen ugen.c
sys/dev/usbmisc/uhid uhid.c
sys/emulation/linux linux_file.c
sys/emulation/linux/i386 linux_proto.h linux_syscall.h
linux_sysent.c linux_union.h
sys/i386/i386 mem.c
sys/kern init_sysent.c kern_descrip.c kern_fp.c
subr_log.c sys_generic.c sys_pipe.c
sys_socket.c syscalls.c syscalls.master
tty.c uipc_socket.c uipc_syscalls.c
vfs_aio.c vfs_vnops.c
sys/net bpf.c netisr.h
sys/net/i4b/driver i4b_rbch.c
sys/net/tap if_tap.c
sys/net/tun if_tun.c
sys/netgraph/ksocket ng_ksocket.c
sys/netinet sctp.h sctp_output.c sctp_pcb.c
sctp_peeloff.c
sys/netproto/ncp ncp_sock.c
sys/netproto/smb smb_trantcp.c
sys/sys fcntl.h file.h param.h socket.h
socketvar.h syscall-args syscall-hide.h
syscall.h syscall.mk sysproto.h
sysunion.h
sys/vfs/fifofs fifo_vnops.c
sys/vfs/nfs bootp_subr.c krpc_subr.c nfs_socket.c
nfs_vfsops.c
sys/vfs/portal portal_vnops.c
Log:
Add kernel syscall support for explicit blocking and non-blocking I/O
regardless of the setting applied to the file pointer.
send/sendmsg/sendto/recv/recvmsg/recfrom: New MSG_ flags defined in
sys/socket.h may be passed to these functions to override the settings
applied to the file pointer on a per-I/O basis.
MSG_FBLOCKING - Force the operation to be blocking
MSG_FNONBLOCKING- Force the operation to be non-blocking
pread/preadv/pwrite/pwritev: These system calls have been renamed and
wrappers will be added to libc. The new system calls are prefixed with
a double underscore (like getcwd vs __getcwd) and include an additional
flags argument. The new flags are defined in sys/fcntl.h and may be
used to override settings applied to the file pointer on a per-I/O basis.
Additionally, the internal __ versions of these functions now accept an
offset of -1 to mean 'degenerate into a read/readv/write/writev' (i.e.
use the offset in the file pointer and update it on completion).
O_FBLOCKING - Force the operation to be blocking
O_FNONBLOCKING - Force the operation to be non-blocking
O_FAPPEND - Force the write operation to append (to a regular file)
O_FOFFSET - (implied of the offset != -1) - offset is valid
O_FSYNCWRITE - Force a synchronous write
O_FASYNCWRITE - Force an asynchronous write
O_FUNBUFFERED - Force an unbuffered operation (O_DIRECT)
O_FBUFFERED - Force a buffered operation (negate O_DIRECT)
If the flags do not specify an operation (e.g. neither FBLOCKING or
FNONBLOCKING are set), then the settings in the file pointer are used.
The original system calls will become wrappers in libc, without the flags
arguments. The new system calls will be made available to libc_r to allow
it to perform non-blocking I/O without having to mess with a descriptor's
file flags.
NOTE: the new __pread and __pwrite system calls are backwards compatible
with the originals due to a pad byte that libc always set to 0.
The new __preadv and __pwritev system calls are NOT backwards compatible,
but since they were added to HEAD just two months ago I have decided
to not renumber them either.
NOTE: The subrev has been bumped to 1.5.4 and installworld will refuse to
install if you are not running at least a 1.5.4 kernel.
Revision Changes Path
1.17 +0 -4 src/sys/bus/usb/usb.c
1.5 +2 -1 src/sys/conf/subvers-DEVELOPMENT_1_5
1.13 +0 -3 src/sys/dev/drm/drm_drv.h
1.13 +0 -3 src/sys/dev/misc/snp/snp.c
1.8 +12 -7 src/sys/dev/sound/pcm/channel.c
1.3 +3 -3 src/sys/dev/sound/pcm/channel.h
1.9 +12 -3 src/sys/dev/sound/pcm/dsp.c
1.17 +0 -3 src/sys/dev/usbmisc/ugen/ugen.c
1.15 +0 -4 src/sys/dev/usbmisc/uhid/uhid.c
1.33 +2 -2 src/sys/emulation/linux/linux_file.c
1.18 +0 -0 src/sys/emulation/linux/i386/linux_proto.h
1.18 +0 -0 src/sys/emulation/linux/i386/linux_syscall.h
1.18 +0 -0 src/sys/emulation/linux/i386/linux_sysent.c
1.14 +0 -0 src/sys/emulation/linux/i386/linux_union.h
1.13 +0 -1 src/sys/i386/i386/mem.c
1.41 +4 -4 src/sys/kern/init_sysent.c
1.68 +3 -7 src/sys/kern/kern_descrip.c
1.17 +2 -2 src/sys/kern/kern_fp.c
1.9 +0 -3 src/sys/kern/subr_log.c
1.33 +31 -12 src/sys/kern/sys_generic.c
1.39 +25 -8 src/sys/kern/sys_pipe.c
1.12 +28 -12 src/sys/kern/sys_socket.c
1.40 +4 -4 src/sys/kern/syscalls.c
1.39 +8 -6 src/sys/kern/syscalls.master
1.24 +0 -2 src/sys/kern/tty.c
1.38 +5 -5 src/sys/kern/uipc_socket.c
1.70 +25 -7 src/sys/kern/uipc_syscalls.c
1.29 +2 -2 src/sys/kern/vfs_aio.c
1.41 +85 -23 src/sys/kern/vfs_vnops.c
1.30 +0 -3 src/sys/net/bpf.c
1.24 +1 -0 src/sys/net/netisr.h
1.18 +2 -15 src/sys/net/i4b/driver/i4b_rbch.c
1.25 +0 -3 src/sys/net/tap/if_tap.c
1.28 +0 -2 src/sys/net/tun/if_tun.c
1.11 +4 -5 src/sys/netgraph/ksocket/ng_ksocket.c
1.3 +5 -0 src/sys/netinet/sctp.h
1.6 +5 -21 src/sys/netinet/sctp_output.c
1.9 +0 -4 src/sys/netinet/sctp_pcb.c
1.3 +0 -2 src/sys/netinet/sctp_peeloff.c
1.14 +6 -5 src/sys/netproto/ncp/ncp_sock.c
1.15 +2 -1 src/sys/netproto/smb/smb_trantcp.c
1.9 +13 -1 src/sys/sys/fcntl.h
1.21 +0 -2 src/sys/sys/file.h
1.33 +3 -1 src/sys/sys/param.h
1.14 +19 -10 src/sys/sys/socket.h
1.26 +2 -2 src/sys/sys/socketvar.h
1.25 +4 -4 src/sys/sys/syscall-args
1.41 +4 -4 src/sys/sys/syscall-hide.h
1.41 +4 -4 src/sys/sys/syscall.h
1.41 +4 -4 src/sys/sys/syscall.mk
1.41 +12 -10 src/sys/sys/sysproto.h
1.38 +5 -4 src/sys/sys/sysunion.h
1.30 +15 -15 src/sys/vfs/fifofs/fifo_vnops.c
1.15 +2 -2 src/sys/vfs/nfs/bootp_subr.c
1.8 +2 -1 src/sys/vfs/nfs/krpc_subr.c
1.35 +2 -1 src/sys/vfs/nfs/nfs_socket.c
1.43 +2 -1 src/sys/vfs/nfs/nfs_vfsops.c
1.29 +1 -1 src/sys/vfs/portal/portal_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/bus/usb/usb.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/conf/subvers-DEVELOPMENT_1_5.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/drm/drm_drv.h.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/misc/snp/snp.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/sound/pcm/channel.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/sound/pcm/channel.h.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/sound/pcm/dsp.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/usbmisc/ugen/ugen.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/usbmisc/uhid/uhid.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/linux/linux_file.c.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/linux/i386/linux_proto.h.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/linux/i386/linux_syscall.h.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/linux/i386/linux_sysent.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/linux/i386/linux_union.h.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/mem.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/init_sysent.c.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_descrip.c.diff?r1=1.67&r2=1.68&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_fp.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/subr_log.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/sys_generic.c.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/sys_pipe.c.diff?r1=1.38&r2=1.39&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/sys_socket.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/syscalls.c.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/syscalls.master.diff?r1=1.38&r2=1.39&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/tty.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_socket.c.diff?r1=1.37&r2=1.38&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_syscalls.c.diff?r1=1.69&r2=1.70&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_aio.c.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_vnops.c.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/bpf.c.diff?r1=1.29&r2=1.30&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/netisr.h.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/i4b/driver/i4b_rbch.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/tap/if_tap.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/tun/if_tun.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netgraph/ksocket/ng_ksocket.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/sctp.h.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/sctp_output.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/sctp_pcb.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/sctp_peeloff.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/ncp/ncp_sock.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/smb/smb_trantcp.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/fcntl.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/file.h.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/param.h.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/socket.h.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/socketvar.h.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall-args.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall-hide.h.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall.h.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall.mk.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/sysproto.h.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/sysunion.h.diff?r1=1.37&r2=1.38&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/fifofs/fifo_vnops.c.diff?r1=1.29&r2=1.30&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/bootp_subr.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/krpc_subr.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_socket.c.diff?r1=1.34&r2=1.35&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_vfsops.c.diff?r1=1.42&r2=1.43&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/portal/portal_vnops.c.diff?r1=1.28&r2=1.29&f=u
More information about the Commits
mailing list