diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-04-22 13:57:18 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-04-22 13:58:32 +0200 |
commit | b0686b473d8c07e5bbdc1932d7d9b71bfccdf92e (patch) | |
tree | 0c09c09140e21de14d183bdc4146a02560e92dbc | |
parent | score: Delete bogus THREAD_QUEUE_WAIT_FOREVER (diff) | |
download | rtems-b0686b473d8c07e5bbdc1932d7d9b71bfccdf92e.tar.bz2 |
score: Delete _CORE_RWLock_Timeout()
This function was identical to _Thread_queue_Timeout(). This makes
_Thread_queue_Enqueue_with_handler() obsolete.
-rw-r--r-- | cpukit/score/Makefile.am | 2 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/corerwlockimpl.h | 15 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/threadqimpl.h | 22 | ||||
-rw-r--r-- | cpukit/score/src/corerwlockobtainread.c | 5 | ||||
-rw-r--r-- | cpukit/score/src/corerwlockobtainwrite.c | 6 | ||||
-rw-r--r-- | cpukit/score/src/corerwlocktimeout.c | 45 | ||||
-rw-r--r-- | cpukit/score/src/threadqenqueue.c | 11 |
7 files changed, 14 insertions, 92 deletions
diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am index 0a6beb4522..f8ad60da3a 100644 --- a/cpukit/score/Makefile.am +++ b/cpukit/score/Makefile.am @@ -174,7 +174,7 @@ libscore_a_SOURCES += src/percpuasm.c ## CORE_RWLOCK_C_FILES if HAS_PTHREADS libscore_a_SOURCES += src/corerwlock.c src/corerwlockobtainread.c \ - src/corerwlockobtainwrite.c src/corerwlockrelease.c src/corerwlocktimeout.c + src/corerwlockobtainwrite.c src/corerwlockrelease.c endif ## CORE_SEMAPHORE_C_FILES diff --git a/cpukit/score/include/rtems/score/corerwlockimpl.h b/cpukit/score/include/rtems/score/corerwlockimpl.h index 66c3b1a112..331510ba02 100644 --- a/cpukit/score/include/rtems/score/corerwlockimpl.h +++ b/cpukit/score/include/rtems/score/corerwlockimpl.h @@ -168,21 +168,6 @@ CORE_RWLock_Status _CORE_RWLock_Release( ) /** - * @brief RWLock specific thread queue timeout. - * - * This routine processes a thread which timeouts while waiting on - * an RWLock's thread queue. It is called by the watchdog handler. - * - * @param[in] id is the Id of thread to timeout - * @param[in] ignored is an unused pointer to a caller defined area - */ - -void _CORE_RWLock_Timeout( - Objects_Id id, - void *ignored -); - -/** * This method is used to initialize core rwlock attributes. * * @param[in] the_attributes pointer to the attributes to initialize. diff --git a/cpukit/score/include/rtems/score/threadqimpl.h b/cpukit/score/include/rtems/score/threadqimpl.h index 2fa797467b..57bdf054b9 100644 --- a/cpukit/score/include/rtems/score/threadqimpl.h +++ b/cpukit/score/include/rtems/score/threadqimpl.h @@ -64,19 +64,6 @@ Thread_Control *_Thread_queue_Dequeue( ); /** - * @brief Enqueues the currently executing thread on the_thread_queue. - * - * This routine enqueues the currently executing thread on - * the_thread_queue with an optional timeout. - */ -#define _Thread_queue_Enqueue( _the_thread_queue, _the_thread, _timeout ) \ - _Thread_queue_Enqueue_with_handler( \ - _the_thread_queue, \ - _the_thread, \ - _timeout, \ - _Thread_queue_Timeout ) - -/** * @brief Blocks a thread and places it on a thread. * * This routine blocks a thread, places it on a thread, and optionally @@ -89,11 +76,10 @@ Thread_Control *_Thread_queue_Dequeue( * - INTERRUPT LATENCY: * + single case */ -void _Thread_queue_Enqueue_with_handler( - Thread_queue_Control *the_thread_queue, - Thread_Control *the_thread, - Watchdog_Interval timeout, - Thread_queue_Timeout_callout handler +void _Thread_queue_Enqueue( + Thread_queue_Control *the_thread_queue, + Thread_Control *the_thread, + Watchdog_Interval timeout ); /** diff --git a/cpukit/score/src/corerwlockobtainread.c b/cpukit/score/src/corerwlockobtainread.c index c118e2900f..f3851b4fd3 100644 --- a/cpukit/score/src/corerwlockobtainread.c +++ b/cpukit/score/src/corerwlockobtainread.c @@ -84,11 +84,10 @@ void _CORE_RWLock_Obtain_for_reading( executing->Wait.return_code = CORE_RWLOCK_SUCCESSFUL; _ISR_Enable( level ); - _Thread_queue_Enqueue_with_handler( + _Thread_queue_Enqueue( &the_rwlock->Wait_queue, executing, - timeout, - _CORE_RWLock_Timeout + timeout ); /* return to API level so it can dispatch and we block */ diff --git a/cpukit/score/src/corerwlockobtainwrite.c b/cpukit/score/src/corerwlockobtainwrite.c index 40da6c9f4e..ea7d25c0e3 100644 --- a/cpukit/score/src/corerwlockobtainwrite.c +++ b/cpukit/score/src/corerwlockobtainwrite.c @@ -74,13 +74,11 @@ void _CORE_RWLock_Obtain_for_writing( executing->Wait.return_code = CORE_RWLOCK_SUCCESSFUL; _ISR_Enable( level ); - _Thread_queue_Enqueue_with_handler( + _Thread_queue_Enqueue( &the_rwlock->Wait_queue, executing, - timeout, - _CORE_RWLock_Timeout + timeout ); - /* return to API level so it can dispatch and we block */ } diff --git a/cpukit/score/src/corerwlocktimeout.c b/cpukit/score/src/corerwlocktimeout.c deleted file mode 100644 index 2e4b03f534..0000000000 --- a/cpukit/score/src/corerwlocktimeout.c +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @file - * - * @brief RWLock Specific Thread Queue Timeout - * @ingroup ScoreRWLock - */ - -/* - * COPYRIGHT (c) 1989-2007. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#if HAVE_CONFIG_H -#include "config.h" -#endif - -#include <rtems/score/corerwlockimpl.h> -#include <rtems/score/threadimpl.h> -#include <rtems/score/threadqimpl.h> - -void _CORE_RWLock_Timeout( - Objects_Id id, - void *ignored -) -{ - Thread_Control *the_thread; - Objects_Locations location; - - the_thread = _Thread_Get( id, &location ); - switch ( location ) { - case OBJECTS_ERROR: -#if defined(RTEMS_MULTIPROCESSING) - case OBJECTS_REMOTE: /* impossible */ -#endif - break; - case OBJECTS_LOCAL: - _Thread_queue_Process_timeout( the_thread ); - _Objects_Put_without_thread_dispatch( &the_thread->Object ); - break; - } -} diff --git a/cpukit/score/src/threadqenqueue.c b/cpukit/score/src/threadqenqueue.c index c059556408..904855156b 100644 --- a/cpukit/score/src/threadqenqueue.c +++ b/cpukit/score/src/threadqenqueue.c @@ -101,11 +101,10 @@ static void _Thread_queue_Requeue_priority( ); } -void _Thread_queue_Enqueue_with_handler( - Thread_queue_Control *the_thread_queue, - Thread_Control *the_thread, - Watchdog_Interval timeout, - Thread_queue_Timeout_callout handler +void _Thread_queue_Enqueue( + Thread_queue_Control *the_thread_queue, + Thread_Control *the_thread, + Watchdog_Interval timeout ) { ISR_lock_Context lock_context; @@ -127,7 +126,7 @@ void _Thread_queue_Enqueue_with_handler( if ( timeout ) { _Watchdog_Initialize( &the_thread->Timer, - handler, + _Thread_queue_Timeout, the_thread->Object.id, NULL ); |