Explorar el Código

adding a missing clearup for failed messages sending in windows, #340

Stasik0 hace 9 años
padre
commit
4485cbc1a7
Se han modificado 1 ficheros con 3 adiciones y 1 borrados
  1. 3 1
      examples/networklayer_tcp.c

+ 3 - 1
examples/networklayer_tcp.c

@@ -44,8 +44,10 @@ static UA_StatusCode socket_write(UA_Connection *connection, UA_ByteString *buf,
         do {
 #ifdef _WIN32
             n = send((SOCKET)connection->sockfd, (const char*)buf->data, buflen, 0);
-            if(n < 0 && WSAGetLastError() != WSAEINTR && WSAGetLastError() != WSAEWOULDBLOCK)
+            if(n < 0 && WSAGetLastError() != WSAEINTR && WSAGetLastError() != WSAEWOULDBLOCK){
+                connection->close(connection);
                 return UA_STATUSCODE_BADCONNECTIONCLOSED;
+            }
 #else
             n = send(connection->sockfd, (const char*)buf->data, buflen, MSG_NOSIGNAL);
             if(n == -1L && errno != EINTR && errno != EAGAIN){