Reset heapId after reading socket in TransportRpmsg
authorRamsey Harris <ramsey@ti.com>
Fri, 7 Aug 2015 21:26:26 +0000 (14:26 -0700)
committerRobert Tivy <rtivy@ti.com>
Mon, 17 Aug 2015 17:44:17 +0000 (10:44 -0700)
TransportRpmsg is a copy based transport. All inbound messages are
allocated from HeapStd. After reading message header, must reset the
heapId to match the registered heapId for HeapStd.

linux/src/transport/TransportRpmsg.c

index ae426fb36ccceb78218faed05d4471d1bb88541b..960b922ba4f99f1cce6aa6a18a4fb3546c28e439 100644 (file)
@@ -682,13 +682,8 @@ static Int transportGet(int sock, MessageQ_Msg *retMsg)
           */
          msg->msgSize = byteCount;
 
-         /*
-          * If the message received was statically allocated, reset the
-          * heapId, so the app can free it.
-          */
-         if (msg->heapId == MessageQ_STATICMSG)  {
-             msg->heapId = 0;  /* for a copy transport, heap id is 0. */
-         }
+         /* set the heapId in the message header to match allocation above */
+         msg->heapId = 0;
     }
 
     PRINTVERBOSE1("transportGet: recvfrom socket: fd: %d\n", sock)