diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-08-09 20:48:58 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-08-09 20:48:58 +0000 |
commit | 02e4dcd3a2fceb9cfbf805b3b2396e188329e164 (patch) | |
tree | 1bf3086db1463c56f8a095887d5bc226d5e5145a /c/src/exec/itron/src/tsnd_mbf.c | |
parent | 2001-08-09 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-02e4dcd3a2fceb9cfbf805b3b2396e188329e164.tar.bz2 |
2001-08-09 Joel Sherrill <joel@OARcorp.com>
* src/snd_mbx.c, src/tsnd_mbf.c: Unblocking message queue operations
should NOT use _Thread_Executing for return status since it is
permissible to invoke message send operations from an ISR. This was
reported by Suvrat Gupta <suvrat@utstar.com>.
Diffstat (limited to 'c/src/exec/itron/src/tsnd_mbf.c')
-rw-r--r-- | c/src/exec/itron/src/tsnd_mbf.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/c/src/exec/itron/src/tsnd_mbf.c b/c/src/exec/itron/src/tsnd_mbf.c index 0116604eb7..91a91f87d2 100644 --- a/c/src/exec/itron/src/tsnd_mbf.c +++ b/c/src/exec/itron/src/tsnd_mbf.c @@ -37,6 +37,7 @@ ER tsnd_mbf( Objects_Locations location; Watchdog_Interval interval; boolean wait; + CORE_message_queue_Status msg_status; if (msgsz <= 0 || !msg) return E_PAR; @@ -61,7 +62,7 @@ ER tsnd_mbf( case OBJECTS_LOCAL: /* XXX Submit needs to take into account blocking */ - _CORE_message_queue_Submit( + msg_status = _CORE_message_queue_Submit( &the_message_buffer->message_queue, msg, msgsz, @@ -73,7 +74,7 @@ ER tsnd_mbf( ); _Thread_Enable_dispatch(); return _ITRON_Message_buffer_Translate_core_message_buffer_return_code( - _Thread_Executing->Wait.return_code + msg_status ); } |