[CONPRO-1398] Adjust server request handling
[platform/upstream/iotivity.git] / resource / csdk / stack / src / ocserverrequest.c
index 3dde884..aa5930b 100644 (file)
@@ -100,6 +100,7 @@ static void DeleteServerRequest(OCServerRequest * serverRequest)
 {
     if(serverRequest)
     {
+        OIC_LOG_V(WARNING, TAG, "Server request ID = [%u]", serverRequest->requestId);
         LL_DELETE(serverRequestList, serverRequest);
         OICFree(serverRequest->requestToken);
         OICFree(serverRequest->rcvdVendorSpecificHeaderOptions);
@@ -300,6 +301,12 @@ OCStackResult AddServerRequest (OCServerRequest ** request, uint16_t coapID,
     serverRequest->numResponses = 1;
     serverRequest->requestId = OCGetRandom();
 
+    // checking same id exist
+    while(serverRequest->requestId == 0 || GetServerRequestUsingHandle(serverRequest->requestId) != NULL)
+    {
+        serverRequest->requestId = OCGetRandom();
+    }
+
     if(query)
     {
         OICStrcpy(serverRequest->query, sizeof(serverRequest->query), query);