Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
DWORD wait_flags = flags & MSG_DONTWAIT;
bool nosignal = !!(flags & MSG_NOSIGNAL);
+ /* MSG_EOR not supported by any protocol */
+ if (flags & MSG_EOR)
+ {
+ set_errno (EOPNOTSUPP);
+ return SOCKET_ERROR;
+ }
+
flags &= (MSG_OOB | MSG_DONTROUTE);
if (wsamsg->Control.len > 0)
use_sendmsg = true;
/* AF_UNIX specific */
#define MSG_CMSG_CLOEXEC 0x1000 /* Set O_CLOEXEC on fd's passed via
SCM_RIGHTS */
+/* MSG_EOR is not supported. We use the MSG_PARTIAL flag here */
+#define MSG_EOR 0x8000 /* Terminates a record */
/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */
#define SOL_IP 0
completed, instead of when only one key is typed.
- Make console I/O functions thread-safe.
+
+- Define missing MSG_EOR. It's unsupported by the underlying Winsock
+ layer so using it in send(2), sendto(2), or sendmsg(2) will return -1
+ with errno set to EOPNOTSUPP and recvmsg(2) will never return it.