diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-05-26 16:02:58 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-06-03 08:15:16 +0200 |
commit | 9553e7a60d42d46b6f1260121ece58217ad0384f (patch) | |
tree | dc7e8f6bbd9b0597fceaa91d735ce95bcab1000c /doc/user/sem.t | |
parent | score: Add resource node to thread control block (diff) | |
download | rtems-9553e7a60d42d46b6f1260121ece58217ad0384f.tar.bz2 |
score: Use Resource Handler for MrsP semaphores
This enables proper resource dependency tracking and as a side-effect
deadlock detection.
Diffstat (limited to '')
-rw-r--r-- | doc/user/sem.t | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/doc/user/sem.t b/doc/user/sem.t index 95fa4b90ae..6bd22dd3d7 100644 --- a/doc/user/sem.t +++ b/doc/user/sem.t @@ -751,6 +751,10 @@ willing to be blocked waiting for the semaphore. If it is set to If the semaphore is available or the @code{@value{RPREFIX}NO_WAIT} option component is set, then timeout is ignored. +Deadlock situations are detected for MrsP semaphores and the +@code{@value{RPREFIX}UNSATISFIED} status code will be returned on SMP +configurations in this case. + @subheading NOTES: The following semaphore acquisition option constants are defined by RTEMS: @@ -806,7 +810,8 @@ procedure Semaphore_Release ( @subheading DIRECTIVE STATUS CODES: @code{@value{RPREFIX}SUCCESSFUL} - semaphore released successfully@* @code{@value{RPREFIX}INVALID_ID} - invalid semaphore id@* -@code{@value{RPREFIX}NOT_OWNER_OF_RESOURCE} - calling task does not own semaphore +@code{@value{RPREFIX}NOT_OWNER_OF_RESOURCE} - calling task does not own semaphore@* +@code{@value{RPREFIX}INCORRECT_STATE} - invalid unlock order @subheading DESCRIPTION: @@ -838,6 +843,10 @@ calling task having its priority lowered. This will occur if the calling task holds no other binary semaphores and it has inherited a higher priority. +The MrsP semaphores must be released in the reversed obtain order, otherwise +the @code{@value{RPREFIX}INCORRECT_STATE} status code will be returned on SMP +configurations in this case. + @c @c @c |