summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/coremutexseize.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2006-07-11 21:05:12 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2006-07-11 21:05:12 +0000
commit83df49f697d770276c16af18884e2c4aeb393ab8 (patch)
treea8ad7983ebe4162b4768ab46edc7dd28df93fea0 /cpukit/score/src/coremutexseize.c
parentfixed system.h: only include ATA/IDE driver, when BSP supports an ide interface (diff)
downloadrtems-83df49f697d770276c16af18884e2c4aeb393ab8.tar.bz2
2006-07-11 Joel Sherrill <joel@OARcorp.com>
PR 1124/rtems * score/include/rtems/score/threadq.h, score/src/coremutexseize.c, score/src/coremutexsurrender.c, score/src/threadqenqueue.c, score/src/threadqenqueuefifo.c, score/src/threadqenqueuepriority.c: The placement of the changing a thread's priority when using priority ceiling should be on the successful transfer of the mutex -- not when the thread tries to acquire. Plus the lack of a dispatch disable point lead to the potential for a thread timing out and already having inherited the ceiling priority.
Diffstat (limited to 'cpukit/score/src/coremutexseize.c')
-rw-r--r--cpukit/score/src/coremutexseize.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/cpukit/score/src/coremutexseize.c b/cpukit/score/src/coremutexseize.c
index cd620c3e9d..6b04d200ac 100644
--- a/cpukit/score/src/coremutexseize.c
+++ b/cpukit/score/src/coremutexseize.c
@@ -6,7 +6,7 @@
* This package is the implementation of the Mutex Handler.
* This handler provides synchronization and mutual exclusion capabilities.
*
- * COPYRIGHT (c) 1989-1999.
+ * COPYRIGHT (c) 1989-2006.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -60,22 +60,6 @@ void _CORE_mutex_Seize_interrupt_blocking(
the_mutex->blocked_count++;
_Thread_queue_Enqueue( &the_mutex->Wait_queue, timeout );
- if ( _Thread_Executing->Wait.return_code == CORE_MUTEX_STATUS_SUCCESSFUL ) {
- /*
- * if CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT then nothing to do
- * because this task is already the highest priority.
- */
-
- if ( _CORE_mutex_Is_priority_ceiling( &the_mutex->Attributes ) ) {
- if (the_mutex->Attributes.priority_ceiling < executing->current_priority){
- _Thread_Change_priority(
- executing,
- the_mutex->Attributes.priority_ceiling,
- FALSE
- );
- }
- }
- }
_Thread_Enable_dispatch();
}