diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-11-09 14:36:14 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-11-09 14:36:14 +0000 |
commit | bd861cc6e02ec077e7f93b247169cd519a042016 (patch) | |
tree | db4073489d4d4c6497257df5494821d0a39555aa /doc/user/sem.t | |
parent | 2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-bd861cc6e02ec077e7f93b247169cd519a042016.tar.bz2 |
2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com>
* ada_user/Makefile.am, ada_user/ada_user.texi, user/Makefile.am,
user/c_user.texi, user/concepts.t, user/overview.t,
user/preface.texi, user/schedule.t, user/sem.t: Add table of figures.
Add text and graphic of tree illustrating valid combinations of
semaphore attributes.
* user/semaphore_attributes.eps, user/semaphore_attributes.png:
New files.
Diffstat (limited to 'doc/user/sem.t')
-rw-r--r-- | doc/user/sem.t | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/doc/user/sem.t b/doc/user/sem.t index f85056e28d..be0532fa50 100644 --- a/doc/user/sem.t +++ b/doc/user/sem.t @@ -232,6 +232,35 @@ default for all created tasks. If a similar semaphore were to be known globally, then the attribute_set parameter would be @code{@value{RPREFIX}GLOBAL @value{OR} @value{RPREFIX}PRIORITY}. +Some combinatinos of these attributes are invalid. For example, priority +ordered blocking discipline must be applied to a binary semaphore in order +to use either the priority inheritance or priority ceiling functionality. +The following tree figure illustrates the valid combinations. + +@float Figure,fig:semaphore-attributes +@caption{Valid Semaphore Attributes Combinations} + +@ifset use-ascii +@example +@group +Not available in ASCII representation +@end group +@end example +@end ifset + +@ifset use-tex +@example +@image{semaphore_attributes,5in,3.5in} +@end example +@end ifset + +@ifset use-html +@html +<IMG SRC="semaphore_attributes.png" WIDTH=550 HEIGHT=400 ALT="Valid Semaphore Attribute Combinations"> +@end html +@end ifset +@end float + @subsection Building a SEMAPHORE_OBTAIN Option Set In general, an option is built by a bitwise OR of the @@ -468,9 +497,9 @@ inheritance (default) @item @code{@value{RPREFIX}NO_PRIORITY_CEILING} - do not use priority ceiling (default) -@item @code{@value{RPREFIX}LOCAL} - local task (default) +@item @code{@value{RPREFIX}LOCAL} - local semaphore (default) -@item @code{@value{RPREFIX}GLOBAL} - global task +@item @code{@value{RPREFIX}GLOBAL} - global semaphore @end itemize Semaphores should not be made global unless remote @@ -480,9 +509,11 @@ semaphore. When a global semaphore is created, the semaphore's name and id must be transmitted to every node in the system for insertion in the local copy of the global object table. -The total number of global objects, including -semaphores, is limited by the maximum_global_objects field in -the Configuration Table. +Note that some combinations of attributes are not valid. See the +earlier discussion on this. + +The total number of global objects, including semaphores, is limited by +the maximum_global_objects field in the Configuration Table. @c @c |