From b0686b473d8c07e5bbdc1932d7d9b71bfccdf92e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 22 Apr 2015 13:57:18 +0200 Subject: score: Delete _CORE_RWLock_Timeout() This function was identical to _Thread_queue_Timeout(). This makes _Thread_queue_Enqueue_with_handler() obsolete. --- cpukit/score/Makefile.am | 2 +- cpukit/score/include/rtems/score/corerwlockimpl.h | 15 -------- cpukit/score/include/rtems/score/threadqimpl.h | 22 ++--------- cpukit/score/src/corerwlockobtainread.c | 5 +-- cpukit/score/src/corerwlockobtainwrite.c | 6 +-- cpukit/score/src/corerwlocktimeout.c | 45 ----------------------- cpukit/score/src/threadqenqueue.c | 11 +++--- 7 files changed, 14 insertions(+), 92 deletions(-) delete mode 100644 cpukit/score/src/corerwlocktimeout.c 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 @@ -167,21 +167,6 @@ CORE_RWLock_Status _CORE_RWLock_Release( (_status) \ ) -/** - * @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. * 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 @@ -63,19 +63,6 @@ Thread_Control *_Thread_queue_Dequeue( Thread_queue_Control *the_thread_queue ); -/** - * @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. * @@ -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 -#include -#include - -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 ); -- cgit v1.2.3