From 9553e7a60d42d46b6f1260121ece58217ad0384f Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 26 May 2014 16:02:58 +0200 Subject: score: Use Resource Handler for MrsP semaphores This enables proper resource dependency tracking and as a side-effect deadlock detection. --- doc/user/sem.t | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'doc/user/sem.t') 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 -- cgit v1.2.3