OMAP5 QNX: Changed ipc.c to avoid calling GateMP since it is not yet supported
[ipc/ipcdev.git] / qnx / src / api / MessageQ.c
index 95dd0bbde91e0a1dfb23262b93bee5d0de2e992a..b9a477caab7b82c15657f8a1eeacc1bf8409e70e 100644 (file)
 
 
 /* Standard headers */
-#include <Std.h>
+#include <ti/ipc/Std.h>
 
 /* Linux specific header files, replacing OSAL: */
 #include <pthread.h>
 /* Module level headers */
 #include <ti/ipc/NameServer.h>
 #include <ti/ipc/MultiProc.h>
-#include <_MultiProc.h>
+#include <ti/syslink/inc/_MultiProc.h>
 #include <ti/ipc/MessageQ.h>
 #include <_MessageQ.h>
-#include <_log.h>
+#include <_IpcLog.h>
 #include <ti/syslink/inc/MessageQDrvDefs.h>
 
 #include <sys/select.h>
@@ -722,6 +722,7 @@ Int MessageQ_attach (UInt16 remoteProcId, Ptr sharedAddr)
 {
     Int     status = MessageQ_S_SUCCESS;
     int     ipcFd;
+    int     err;
 
     PRINTVERBOSE1("MessageQ_attach: remoteProcId: %d\n", remoteProcId)
 
@@ -746,10 +747,16 @@ Int MessageQ_attach (UInt16 remoteProcId, Ptr sharedAddr)
                 ipcFd)
             MessageQ_module->ipcFd[remoteProcId] = ipcFd;
             /*
-             * Connect to the remote endpoint and bind a reserved address as
+             * Connect to the remote endpoint and bind any reserved address as
              * local endpoint
              */
             Connect(ipcFd, remoteProcId, MESSAGEQ_RPMSG_PORT);
+            err = BindAddr(ipcFd, TIIPC_ADDRANY);
+            if (err < 0) {
+                status = MessageQ_E_FAIL;
+                printf ("MessageQ_attach: bind failed: %d, %s\n",
+                    errno, strerror(errno));
+            }
         }
     }
     else {