Add support for priority inheritance

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1581 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2009-03-08 23:33:41 +00:00
parent d2561348cd
commit 40f902d762
3 changed files with 16 additions and 7 deletions

View File

@ -285,7 +285,7 @@
<td><br></td>
<td>
<p>
<li>Realtime, deterministic.</li>
<li>Realtime, deterministic, with support for priority inheritance</li>
</p>
</tr>
@ -1371,6 +1371,8 @@ nuttx-0.4.3 2009-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Restructured parts of the uIP port for correct compilation with ZDS-II
* eZ80Acclaim!: Complete basic integration of the eZ80F91 EMAC driver. The
driver is basically functional and should mature prior to the 0.4.3 release.
* Implemented priority inheritance logic for POSIX semaphores. Because the pthread
mutexes are built on semaphores, they will have this property as well.
pascal-0.1.3 2009-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;

View File

@ -12,7 +12,7 @@
<h1><big><font color="#3c34ec">
<i>NuttX RTOS Porting Guide</i>
</font></big></h1>
<p>Last Updated: December 5, 2008</p>
<p>Last Updated: March 8, 2009</p>
</td>
</tr>
</table>
@ -1623,8 +1623,13 @@ The system can be re-made subsequently by just typing <code>make</code>.
provides /dev/console. Enables stdout, stderr, stdin.
</li>
<li>
<code>CONFIG_MUTEX_TYPES</code>: Set to enabled support for recursive and
<code>CONFIG_MUTEX_TYPES</code>: Set to enable support for recursive and
errorcheck mutexes. Enables <code>pthread_mutexattr_settype()</code>.
</li>
<li>
<code>CONFIG_PRIORITY_INHERITANCE </code>: Set to enable support for
priority inheritance on mutexes and semaphores.
</li>
</ul>
<p>

View File

@ -13,7 +13,7 @@
<h1><big><font color="#3c34ec"><i>NuttX Operating System<p>User's Manual</i></font></big></h1>
<p><small>by</small></p>
<p>Gregory Nutt<p>
<p>Last Updated: November 18, 2008</p>
<p>Last Updated: March 8, 2009</p>
</td>
</tr>
</table>
@ -1718,9 +1718,11 @@ interface of the same name.
<p>
Some operating systems avoid priority inversion by <I>automatically</I>
increasing the priority of the low-priority <I>Task C</I> (the operable
buzz-word for this behavior is <I>priority inheritance</I>). NuttX does not
support this behavior. As a consequence, it is left to the designer to
provide implementations that will not suffer from priority inversion.
buzz-word for this behavior is <I>priority inheritance</I>). NuttX
supports this behavior, but only if <code>CONFIG_PRIORITY_INHERITANCE</code>
is defined in your OS configuration file. If <code>CONFIG_PRIORITY_INHERITANCE</code>
is not defined, then it is left to the designer to provide implementations
that will not suffer from priority inversion.
The designer may, as examples:
</p>
<ul>