diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-03-05 21:01:40 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-03-05 21:01:40 +0000 |
commit | 96d0b64c620a2107a5d6b076a17ab26fca6b2a39 (patch) | |
tree | 1abb8637b91640982eff0d1d3a4f64e624182cca /cpukit/score/include/rtems/score/coremutex.h | |
parent | 2007-03-05 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-96d0b64c620a2107a5d6b076a17ab26fca6b2a39.tar.bz2 |
2007-03-05 Joel Sherrill <joel@OARcorp.com>
PR 1222/cpukit
* score/Makefile.am, score/include/rtems/score/coremutex.h,
score/include/rtems/score/threadq.h,
score/inline/rtems/score/coremutex.inl, score/src/coremsgsubmit.c,
score/src/coremutexsurrender.c, score/src/threadchangepriority.c,
score/src/threadclearstate.c, score/src/threadhandler.c,
score/src/threadinitialize.c, score/src/threadqdequeuefifo.c,
score/src/threadqdequeuepriority.c, score/src/threadqenqueue.c,
score/src/threadqenqueuefifo.c, score/src/threadqenqueuepriority.c,
score/src/threadqextractfifo.c, score/src/threadqextractpriority.c,
score/src/threadsetstate.c: Enhance so that when the prioirity of a
thread that is blocked on a priority based thread queue is changed,
that its placement in the queue is reevaluated based upon the new
priority. This enhancement includes modifications to the SuperCore as
well as new test cases.
* score/src/threadqrequeue.c: New file.
Diffstat (limited to 'cpukit/score/include/rtems/score/coremutex.h')
-rw-r--r-- | cpukit/score/include/rtems/score/coremutex.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/cpukit/score/include/rtems/score/coremutex.h b/cpukit/score/include/rtems/score/coremutex.h index 4015ac97e4..1d2d38db59 100644 --- a/cpukit/score/include/rtems/score/coremutex.h +++ b/cpukit/score/include/rtems/score/coremutex.h @@ -249,7 +249,7 @@ RTEMS_INLINE_ROUTINE int _CORE_mutex_Seize_interrupt_trylock( ); /** - * @brief Seize Mutex with Blockign + * @brief Seize Mutex with Blocking * * This routine performs the blocking portion of a mutex obtain. * It is an actual subroutine and is not implemented as something @@ -280,6 +280,16 @@ void _CORE_mutex_Seize_interrupt_blocking( * @note If the mutex is called from an interrupt service routine, * with context switching disabled, or before multitasking, * then a fatal error is generated. + * + * + * The logic on this routine is as follows: + * + * * If incorrect system state + * return an error + * * If mutex is available without any contention or blocking + * obtain it with interrupts disabled and returned + * * If the caller is willing to wait + * then they are blocked. */ #define _CORE_mutex_Seize( \ _the_mutex, _id, _wait, _timeout, _level ) \ |