diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/exec/itron/src/tsnd_mbf.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/c/src/exec/itron/src/tsnd_mbf.c b/c/src/exec/itron/src/tsnd_mbf.c index bc609dd298..0ed3b4f90e 100644 --- a/c/src/exec/itron/src/tsnd_mbf.c +++ b/c/src/exec/itron/src/tsnd_mbf.c @@ -33,7 +33,6 @@ ER tsnd_mbf( Objects_Locations location; Watchdog_Interval interval; boolean wait; - CORE_message_queue_Status status; if (msgsz <= 0 || !msg) return E_PAR; @@ -50,8 +49,6 @@ ER tsnd_mbf( if ( wait && _ITRON_Is_in_non_task_state() ) return E_CTX; - assert( wait == FALSE ); - the_message_buffer = _ITRON_Message_buffer_Get(mbfid, &location); switch (location) { case OBJECTS_REMOTE: @@ -60,17 +57,20 @@ ER tsnd_mbf( case OBJECTS_LOCAL: /* XXX Submit needs to take into account blocking */ - status = _CORE_message_queue_Submit( + _CORE_message_queue_Submit( &the_message_buffer->message_queue, msg, msgsz, the_message_buffer->Object.id, NULL, - CORE_MESSAGE_QUEUE_SEND_REQUEST + CORE_MESSAGE_QUEUE_SEND_REQUEST, + wait, /* sender may block */ + interval /* timeout interval */ ); _Thread_Enable_dispatch(); - return - _ITRON_Message_buffer_Translate_core_message_buffer_return_code(status); + return _ITRON_Message_buffer_Translate_core_message_buffer_return_code( + _Thread_Executing->Wait.return_code + ); } /* |