summaryrefslogtreecommitdiffstats
path: root/cpukit/itron/src/tsnd_mbf.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-08-09 20:48:58 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-08-09 20:48:58 +0000
commit02e4dcd3a2fceb9cfbf805b3b2396e188329e164 (patch)
tree1bf3086db1463c56f8a095887d5bc226d5e5145a /cpukit/itron/src/tsnd_mbf.c
parent2001-08-09 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-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 'cpukit/itron/src/tsnd_mbf.c')
-rw-r--r--cpukit/itron/src/tsnd_mbf.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/cpukit/itron/src/tsnd_mbf.c b/cpukit/itron/src/tsnd_mbf.c
index 0116604eb7..91a91f87d2 100644
--- a/cpukit/itron/src/tsnd_mbf.c
+++ b/cpukit/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
);
}