Browse Source

fixing client blocking on server disonnect

Stasik0 9 years ago
parent
commit
66caa20e93
1 changed files with 3 additions and 1 deletions
  1. 3 1
      examples/networklayer_tcp.c

+ 3 - 1
examples/networklayer_tcp.c

@@ -70,7 +70,9 @@ static UA_StatusCode socket_recv(UA_Connection *connection, UA_ByteString *respo
 	if(ret == 0) {
 		free(response->data);
         UA_ByteString_init(response);
-		return UA_STATUSCODE_GOOD; /* no response -> retry */
+        connection->close(connection);
+        connection->state = UA_CONNECTION_CLOSED;
+        return UA_CONNECTION_CLOSED; /* ret == 0 -> server has closed the connection */
 	} else if(ret < 0) {
         free(response->data);
         UA_ByteString_init(response);