summaryrefslogtreecommitdiffstats
path: root/win/tclWinSock.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2013-12-30 10:24:20 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2013-12-30 10:24:20 (GMT)
commitea905988fa8cfecafe48a591a899f1275d7d3ca3 (patch)
tree9dd08e96712d0bbeb26b46b3c2ac5d1312d63be7 /win/tclWinSock.c
parent48d8cf61b7fd0af160956618fdf9e4cbccebf078 (diff)
parent1749e8cdf33e8232f22acc08f9ce4301b00ba7eb (diff)
downloadtcl-ea905988fa8cfecafe48a591a899f1275d7d3ca3.zip
tcl-ea905988fa8cfecafe48a591a899f1275d7d3ca3.tar.gz
tcl-ea905988fa8cfecafe48a591a899f1275d7d3ca3.tar.bz2
merge main working branch
Diffstat (limited to 'win/tclWinSock.c')
-rw-r--r--win/tclWinSock.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/win/tclWinSock.c b/win/tclWinSock.c
index 1a74354..11b4162 100644
--- a/win/tclWinSock.c
+++ b/win/tclWinSock.c
@@ -1316,8 +1316,9 @@ CreateSocket(
if (connect(sock, addrPtr->ai_addr, addrPtr->ai_addrlen)
== SOCKET_ERROR) {
- TclWinConvertError((DWORD) WSAGetLastError());
- if (Tcl_GetErrno() != EAGAIN) {
+ DWORD error = (DWORD) WSAGetLastError();
+ if (error != WSAEWOULDBLOCK) {
+ TclWinConvertError(error);
goto looperror;
}
@@ -1358,10 +1359,10 @@ CreateSocket(
}
error:
- if (addrlist == NULL) {
+ if (addrlist != NULL) {
freeaddrinfo(addrlist);
}
- if (myaddrlist == NULL) {
+ if (myaddrlist != NULL) {
freeaddrinfo(myaddrlist);
}
@@ -1440,7 +1441,7 @@ WaitForSocketEvent(
} else if (infoPtr->readyEvents & events) {
break;
} else if (infoPtr->flags & SOCKET_ASYNC) {
- *errorCodePtr = EAGAIN;
+ *errorCodePtr = EWOULDBLOCK;
result = 0;
break;
}
@@ -1925,7 +1926,7 @@ TcpOutputProc(
if (error == WSAEWOULDBLOCK) {
infoPtr->readyEvents &= ~(FD_WRITE);
if (infoPtr->flags & SOCKET_ASYNC) {
- *errorCodePtr = EAGAIN;
+ *errorCodePtr = EWOULDBLOCK;
bytesWritten = -1;
break;
}
@@ -2735,6 +2736,7 @@ TclWinSetSockOpt(
return setsockopt(s, level, optname, optval, optlen);
}
+#undef TclpInetNtoa
char *
TclpInetNtoa(
struct in_addr addr)