diff --git a/common/utils/itti/intertask_interface.c b/common/utils/itti/intertask_interface.c index 8a1fd62fc4dfef376607c9cea69403e90b858bc1..945bdcbb5163eaa4bac51ccfd0036c8d5e618103 100644 --- a/common/utils/itti/intertask_interface.c +++ b/common/utils/itti/intertask_interface.c @@ -312,7 +312,10 @@ int itti_send_msg_to_task(task_id_t task_id, instance_t instance, MessageDef *me message_number = itti_increment_message_number (); #ifdef RTAI - if (pthread_self() != itti_desc.threads[TASK_GET_THREAD_ID(origin_task_id)].task_thread) + if ((pthread_self() == itti_desc.threads[TASK_GET_THREAD_ID(origin_task_id)].task_thread) || + (task_id == TASK_UNKNOWN) || + ((TASK_GET_PARENT_TASK_ID(origin_task_id) != TASK_UNKNOWN) && + (pthread_self() == itti_desc.threads[TASK_GET_PARENT_TASK_ID(origin_task_id)].task_thread))) #endif itti_dump_queue_message (message_number, message, itti_desc.messages_info[message_id].name, sizeof(MessageHeader) + message->ittiMsgHeader.ittiMsgSize);