|
@@ -1146,7 +1146,24 @@ cmRtRC_t cmRtSysDeliverSegMsg( cmRtSysH_t h, const void* msgDataPtrArray[], un
|
1146
|
1146
|
}
|
1147
|
1147
|
*/
|
1148
|
1148
|
|
1149
|
|
- return _cmRtEnqueueMsg(p,p->ssArray[rtSubIdx].htdQueueH,msgDataPtrArray,msgByteCntArray,msgSegCnt,"Host-to-DSP");
|
|
1149
|
+ // if rtSubIdx == kInvalidIdx then send the msg to all sub-systems
|
|
1150
|
+ // otherwise send it to the specified sub-system.
|
|
1151
|
+
|
|
1152
|
+ unsigned i = 0;
|
|
1153
|
+ unsigned n = 1;
|
|
1154
|
+
|
|
1155
|
+ if( rtSubIdx == cmInvalidIdx )
|
|
1156
|
+ n = p->ssCnt;
|
|
1157
|
+
|
|
1158
|
+ for(; i<n; ++i)
|
|
1159
|
+ {
|
|
1160
|
+ unsigned j = rtSubIdx==cmInvalidIdx ? i : rtSubIdx;
|
|
1161
|
+
|
|
1162
|
+ if((rc = _cmRtEnqueueMsg(p,p->ssArray[j].htdQueueH,msgDataPtrArray,msgByteCntArray,msgSegCnt,"Host-to-DSP")) != kOkRtRC )
|
|
1163
|
+ break;
|
|
1164
|
+ }
|
|
1165
|
+
|
|
1166
|
+ return rc;
|
1150
|
1167
|
}
|
1151
|
1168
|
|
1152
|
1169
|
cmRtRC_t cmRtSysDeliverMsg( cmRtSysH_t h, const void* msgPtr, unsigned msgByteCnt, unsigned srcNetNodeId )
|