diff --git a/linux/src/api/Ipc.c b/linux/src/api/Ipc.c
index 43cfa66143fe946c566cfc5f98ec4f8df5e2e2fd..46db4ae16507a9f3176753d6bba30e4b3a484979 100644 (file)
--- a/linux/src/api/Ipc.c
+++ b/linux/src/api/Ipc.c
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
-#include <Std.h>
/* Common IPC headers: */
/* Common IPC headers: */
+#include <ti/ipc/Std.h>
#include <ti/ipc/Ipc.h>
#include <ti/ipc/NameServer.h>
#include <ti/ipc/Ipc.h>
#include <ti/ipc/NameServer.h>
{
MessageQ_Config msgqCfg;
MultiProc_Config mpCfg;
{
MessageQ_Config msgqCfg;
MultiProc_Config mpCfg;
- Int32 status = Ipc_S_SUCCESS;
+ Int32 status;
LAD_Status ladStatus;
UInt16 rprocId;
LAD_Status ladStatus;
UInt16 rprocId;
+ Int32 attachedAny = 0;
/* Catch ctrl-C, and cleanup: */
(void) signal(SIGINT, cleanup);
/* Catch ctrl-C, and cleanup: */
(void) signal(SIGINT, cleanup);
MessageQ_setup(&msgqCfg);
/* Now attach to all remote processors, assuming they are up. */
MessageQ_setup(&msgqCfg);
/* Now attach to all remote processors, assuming they are up. */
- for (rprocId = 0;
- (rprocId < MultiProc_getNumProcessors()) && (status >= 0);
- rprocId++) {
- if (0 == rprocId) {
- /* Skip host, which should always be 0th entry. */
- continue;
- }
- status = MessageQ_attach (rprocId, NULL);
- if (status < 0) {
- printf("Ipc_start: MessageQ_attach(%d) failed: %d\n",
- rprocId, status);
- status = Ipc_E_FAIL;
- }
+ for (rprocId = 0; rprocId < MultiProc_getNumProcessors(); rprocId++) {
+ if (0 == rprocId) {
+ /* Skip host, which should always be 0th entry. */
+ continue;
+ }
+ status = MessageQ_attach(rprocId, NULL);
+ if (status == MessageQ_E_RESOURCE) {
+ continue;
+ }
+ if (status < 0) {
+ printf("Ipc_start: MessageQ_attach(%d) failed: %d\n",
+ rprocId, status);
+ status = Ipc_E_FAIL;
+
+ break;
+ }
+ else {
+ attachedAny = 1;
+ }
+ }
+ if (attachedAny) {
+ status = Ipc_S_SUCCESS;
}
}
else {
}
}
else {