summaryrefslogtreecommitdiffstats
path: root/doc/user/sem.t
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-11-09 14:36:14 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-11-09 14:36:14 +0000
commitbd861cc6e02ec077e7f93b247169cd519a042016 (patch)
treedb4073489d4d4c6497257df5494821d0a39555aa /doc/user/sem.t
parent2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-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.t41
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