Commit b9591e21 authored by Rob Hughes's avatar Rob Hughes Committed by Alexandre Julliard

ws2_32: Handle EISCONN from sendmsg.

When calling sendmsg on a socket that's already connected, some implementations will return EISCONN if you specify a recipient (notably, Darwin/OSX with UDP connections). Newer versions of Linux and Windows will simply ignore the destination parameter. Signed-off-by: 's avatarRob Hughes <rbhughes@gmail.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent e88084f6
......@@ -2628,6 +2628,12 @@ static int WS2_send( int fd, struct ws2_async *wsa, int flags )
while ((ret = sendmsg(fd, &hdr, flags)) == -1)
{
if (errno == EISCONN)
{
hdr.msg_name = 0;
hdr.msg_namelen = 0;
continue;
}
if (errno != EINTR)
return -1;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment