<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>RTX - Mailbox</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/27062/rtx---mailbox</link><description> 
Issue: 
My Task1 is sending message if(os_mbx_check() &amp;gt; 0) 

 
Task 2 is waiting for message and reading the msg.(and assume it
has low priority) like below: 

 
Line 1: os_mbx_wait (client_task_mailbox, (void
**)&amp;amp;ptrMessage, 0xFFFF); 
{ Line 2: X </description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: RTX - Mailbox</title><link>https://community.arm.com/thread/79235?ContentTypeID=1</link><pubDate>Tue, 19 Apr 2011 11:25:47 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:10cfee6a-6e53-4485-a814-10d067414c7e</guid><dc:creator>JD MD</dc:creator><description>&lt;p&gt;&lt;p&gt;
Actually Task1 gathers information (thru communication protocol)
from external device and sends them (messages) to Task2.&lt;br /&gt;
It triggers the next communication only if it is done with the
current burst of variable length of information.&lt;/p&gt;

&lt;p&gt;
And Task2 is Flash storage task, which actually does not have low
priority but will be busy serving other tasks.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTX - Mailbox</title><link>https://community.arm.com/thread/66497?ContentTypeID=1</link><pubDate>Tue, 19 Apr 2011 07:27:24 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:baf0b4f1-f5e3-4873-8ab0-f93c385d48fc</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Most often, the consumer are given the higher priority just so the
producer doesn&amp;#39;t get blocked with a full queue.&lt;/p&gt;

&lt;p&gt;
When the producer have the higher priority, then it normally have
some burst behaviour so that the queue length is based on the burst
performance, while the producer will go to sleep after having emitted
the burst.&lt;/p&gt;

&lt;p&gt;
Anyway, your solution is probably the best if your producer does
need to have higher prio and does fill the queue until full. The
issue is - are the messages important enough that you can afford to
have the producer stalling?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>