Browse Source

returning an error if tcp sending failed

Stasik0 10 years ago
parent
commit
18718c1765
1 changed files with 9 additions and 6 deletions
  1. 9 6
      src/client/ua_client.c

+ 9 - 6
src/client/ua_client.c

@@ -276,19 +276,22 @@ static void sendReceiveRequest(UA_RequestHeader *request, const UA_DataType *req
     retval |= UA_NodeId_encodeBinary(&requestId, &message, &offset);
     retval |= UA_encodeBinary(request, requestType, &message, &offset);
 
-    retval = client->connection.write(&client->connection, &message);
-    client->connection.releaseBuffer(&client->connection, &message);
-
-    //TODO: rework to get return value
-    if(sendOnly)
-        return;
+    retval |= client->connection.write(&client->connection, &message);
 
     UA_ResponseHeader *respHeader = (UA_ResponseHeader*)response;
+
+    client->connection.releaseBuffer(&client->connection, &message);
+
     if(retval != UA_STATUSCODE_GOOD) {
+        //send failed
         respHeader->serviceResult = retval;
         return;
     }
 
+    //TODO: rework to get return value
+    if(sendOnly)
+        return;
+
     /* Response */
     UA_ByteString reply;
     UA_ByteString_init(&reply);