From c57f26bd079d35aa41963c13bd30c9322a99232d Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 30 Jan 2008 14:56:57 +0000 Subject: 2008-01-30 Joel Sherrill * score/Makefile.am, score/include/rtems/score/threadq.h, score/inline/rtems/score/threadq.inl: _Thread_queue_Process_timeout was really too complex to be inlined. * score/src/threadqprocesstimeout.c: New file. --- cpukit/score/inline/rtems/score/threadq.inl | 41 ----------------------------- 1 file changed, 41 deletions(-) (limited to 'cpukit/score/inline') diff --git a/cpukit/score/inline/rtems/score/threadq.inl b/cpukit/score/inline/rtems/score/threadq.inl index 5e0d921ac8..2e6f1d96bd 100644 --- a/cpukit/score/inline/rtems/score/threadq.inl +++ b/cpukit/score/inline/rtems/score/threadq.inl @@ -26,47 +26,6 @@ * @{ */ -/** - * - * @brief Process Thread Queue Timeout - * - * This is a shared helper routine which makes it easier to have multiple - * object class specific timeout routines. - * - * @param[in] the_thread is the thread to extract - * - * @note Assume Dispatching is disabled. - */ -static inline void _Thread_queue_Process_timeout( - Thread_Control *the_thread -) -{ - Thread_queue_Control *the_thread_queue = the_thread->Wait.queue; - - /* - * If the_thread_queue is not synchronized, then it is either - * "nothing happened", "timeout", or "satisfied". If the_thread - * is the executing thread, then it is in the process of blocking - * and it is the thread which is responsible for the synchronization - * process. - * - * If it is not satisfied, then it is "nothing happened" and - * this is the "timeout" transition. After a request is satisfied, - * a timeout is not allowed to occur. - */ - - if ( the_thread_queue->sync_state != THREAD_BLOCKING_OPERATION_SYNCHRONIZED && - _Thread_Is_executing( the_thread ) ) { - if ( the_thread_queue->sync_state != THREAD_BLOCKING_OPERATION_SATISFIED ) { - the_thread->Wait.return_code = the_thread->Wait.queue->timeout_status; - the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_TIMEOUT; - } - } else { - the_thread->Wait.return_code = the_thread->Wait.queue->timeout_status; - _Thread_queue_Extract( the_thread->Wait.queue, the_thread ); - } -} - /**@}*/ #endif -- cgit v1.2.3