svn commit: r360627 - stable/12/lib/libc/sys

Mark Johnston markj at FreeBSD.org
Mon May 4 12:27:47 UTC 2020


Author: markj
Date: Mon May  4 12:27:46 2020
New Revision: 360627
URL: https://svnweb.freebsd.org/changeset/base/360627

Log:
  MFC r360384:
  Document handling of connection-mode sockets by sendto(2).
  
  PR:	245817

Modified:
  stable/12/lib/libc/sys/send.2
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/lib/libc/sys/send.2
==============================================================================
--- stable/12/lib/libc/sys/send.2	Mon May  4 11:23:55 2020	(r360626)
+++ stable/12/lib/libc/sys/send.2	Mon May  4 12:27:46 2020	(r360627)
@@ -28,7 +28,7 @@
 .\"     From: @(#)send.2	8.2 (Berkeley) 2/21/94
 .\" $FreeBSD$
 .\"
-.Dd January 4, 2019
+.Dd April 27, 2020
 .Dt SEND 2
 .Os
 .Sh NAME
@@ -69,18 +69,35 @@ The
 function
 may be used only when the socket is in a
 .Em connected
-state, while
+state.
+The functions
 .Fn sendto ,
 .Fn sendmsg
 and
 .Fn sendmmsg
-may be used at any time.
+may be used at any time if the socket is connectionless-mode.
+If the socket is connection-mode, the protocol
+must support implied connect (currently
+.Xr tcp 4
+is the only protocol with support) or the socket must be in a
+connected state before use.
 .Pp
 The address of the target is given by
 .Fa to
 with
 .Fa tolen
-specifying its size.
+specifying its size, or the equivalent
+.Fa msg_name
+and
+.Fa msg_namelen
+in
+.Fa struct msghdr .
+If the socket is in a connected state, the target address passed to
+.Fn sendto ,
+.Fn sendmsg
+or
+.Fn sendmmsg
+is ignored.
 The length of the message is given by
 .Fa len .
 If the message is too long to pass atomically through the
@@ -195,6 +212,8 @@ An invalid descriptor was specified.
 The destination address is a broadcast address, and
 .Dv SO_BROADCAST
 has not been set on the socket.
+.It Bq Er ENOTCONN
+The socket is connection-mode but is not connected.
 .It Bq Er ENOTSOCK
 The argument
 .Fa s
@@ -242,6 +261,7 @@ This typically means that the socket
 is not connected.
 .El
 .Sh SEE ALSO
+.Xr connect 2 ,
 .Xr fcntl 2 ,
 .Xr getsockopt 2 ,
 .Xr recv 2 ,


More information about the svn-src-all mailing list