cvs commit: src/sys/compat/linux linux_socket.c
Alfred Perlstein
alfred at freebsd.org
Tue Mar 8 23:22:10 GMT 2005
* Alfred Perlstein <alfred at freebsd.org> [050308 13:04] wrote:
> * Maxim Sobolev <sobomax at portaone.com> [050308 08:14] wrote:
> > Alfred Perlstein wrote:
> > >Why not just expand our API to do this as well? It shouldn't be
> > >that hard and then we'll gain the additional functionality.
> >
> > I have been erroneously assuming that it would be much harder to do, but
> > closer investigation is revealed that it's very simple to do.
> >
> > Committed, thank you for suggestion!
>
> You rule, thank you!
I was about to update the docs to include it as part of our API, but
then noticed you left it behind #ifdef _KERNEL, what about taking it
out?
I've taken it out and added documentation, can you review this?
Index: lib/libc/sys/send.2
===================================================================
RCS file: /home/ncvs/src/lib/libc/sys/send.2,v
retrieving revision 1.30
diff -u -r1.30 send.2
--- lib/libc/sys/send.2 13 Feb 2005 22:25:13 -0000 1.30
+++ lib/libc/sys/send.2 8 Mar 2005 23:19:18 -0000
@@ -103,11 +103,12 @@
.Fa flags
argument may include one or more of the following:
.Bd -literal
-#define MSG_OOB 0x1 /* process out-of-band data */
-#define MSG_PEEK 0x2 /* peek at incoming message */
-#define MSG_DONTROUTE 0x4 /* bypass routing, use direct interface */
-#define MSG_EOR 0x8 /* data completes record */
-#define MSG_EOF 0x100 /* data completes transaction */
+#define MSG_OOB 0x00001 /* process out-of-band data */
+#define MSG_PEEK 0x00002 /* peek at incoming message */
+#define MSG_DONTROUTE 0x00004 /* bypass routing, use direct interface */
+#define MSG_EOR 0x00008 /* data completes record */
+#define MSG_EOF 0x00100 /* data completes transaction */
+#define MSG_NOSIGNAL 0x20000 /* do not generate SIGPIPE on EOF */
.Ed
.Pp
The flag
@@ -135,6 +136,9 @@
.Xr ttcp 4 ) .
.Dv MSG_DONTROUTE
is usually used only by diagnostic or routing programs.
+.Dv MSG_NOSIGNAL
+is used to prevent SIGPIPE generation when writing a socket that
+may be closed.
.Pp
See
.Xr recv 2
Index: sys/sys/socket.h
===================================================================
RCS file: /home/ncvs/src/sys/sys/socket.h,v
retrieving revision 1.86
diff -u -r1.86 socket.h
--- sys/sys/socket.h 8 Mar 2005 16:11:41 -0000 1.86
+++ sys/sys/socket.h 8 Mar 2005 23:20:44 -0000
@@ -398,7 +398,9 @@
#endif
#ifdef _KERNEL
#define MSG_SOCALLBCK 0x10000 /* for use by socket callbacks - soreceive (TCP) */
-#define MSG_NOSIGNAL 0x20000 /* for use with emulation layers */
+#endif
+#if __BSD_VISIBLE
+#define MSG_NOSIGNAL 0x20000 /* do not generate SIGPIPE on EOF */
#endif
/*
--
- Alfred Perlstein
- Research Engineering Development Inc.
- email: bright at mu.org cell: 408-480-4684
More information about the cvs-src
mailing list