hi, > Module Name: src > Committed By: christos > Date: Wed Jan 25 00:28:36 UTC 2012 > > Modified Files: > src/lib/libc/sys: dup.2 fcntl.2 getsockopt.2 kqueue.2 open.2 pipe.2 > socket.2 > src/sys/kern: kern_descrip.c kern_event.c sys_descrip.c sys_generic.c > sys_pipe.c uipc_socket.c uipc_syscalls.c > src/sys/sys: fcntl.h filedesc.h socket.h > > Log Message: > As discussed in tech-kern, provide the means to prevent delivery of SIGPIPE > on EPIPE for all file descriptor types: > > - provide O_NOSIGPIPE for open,kqueue1,pipe2,dup3,fcntl(F_{G,S}ETFL) [NetBSD] > - provide SOCK_NOSIGPIPE for socket,socketpair [NetBSD] > - provide SO_NOSIGPIPE for {g,s}seckopt [NetBSD/FreeBSD/MacOSX] > - provide F_{G,S}ETNOSIGPIPE for fcntl [MacOSX]
please use proper locking for f_flag and so_options. i don't think these redundant compat api are worth the complexity. YAMAMOTO Takashi > > > To generate a diff of this commit: > cvs rdiff -u -r1.27 -r1.28 src/lib/libc/sys/dup.2 src/lib/libc/sys/pipe.2 > cvs rdiff -u -r1.39 -r1.40 src/lib/libc/sys/fcntl.2 > cvs rdiff -u -r1.34 -r1.35 src/lib/libc/sys/getsockopt.2 > cvs rdiff -u -r1.31 -r1.32 src/lib/libc/sys/kqueue.2 > cvs rdiff -u -r1.50 -r1.51 src/lib/libc/sys/open.2 > cvs rdiff -u -r1.37 -r1.38 src/lib/libc/sys/socket.2 > cvs rdiff -u -r1.217 -r1.218 src/sys/kern/kern_descrip.c > cvs rdiff -u -r1.74 -r1.75 src/sys/kern/kern_event.c > cvs rdiff -u -r1.23 -r1.24 src/sys/kern/sys_descrip.c > cvs rdiff -u -r1.127 -r1.128 src/sys/kern/sys_generic.c > cvs rdiff -u -r1.134 -r1.135 src/sys/kern/sys_pipe.c > cvs rdiff -u -r1.206 -r1.207 src/sys/kern/uipc_socket.c > cvs rdiff -u -r1.150 -r1.151 src/sys/kern/uipc_syscalls.c > cvs rdiff -u -r1.41 -r1.42 src/sys/sys/fcntl.h > cvs rdiff -u -r1.61 -r1.62 src/sys/sys/filedesc.h > cvs rdiff -u -r1.104 -r1.105 src/sys/sys/socket.h > > Please note that diffs are not public domain; they are subject to the > copyright notices on the relevant files.