summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-22 10:53:03 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-23 12:52:06 +0100
commita4217c674d90de7bcf1af3583aab44fe0c90d2f1 (patch)
tree2357983e63885abeb7819fda837725b9edc65033
parentscore: Add thread queue enqueue callout (diff)
downloadrtems-a4217c674d90de7bcf1af3583aab44fe0c90d2f1.tar.bz2
score: Rename _Thread_queue_Enqueue_critical()
Delete unused _Thread_queue_Enqueue() and rename _Thread_queue_Enqueue_critical() to _Thread_queue_Enqueue().
-rw-r--r--cpukit/posix/src/condwaitsupp.c2
-rw-r--r--cpukit/posix/src/nanosleep.c2
-rw-r--r--cpukit/posix/src/sigtimedwait.c2
-rw-r--r--cpukit/rtems/src/regiongetsegment.c2
-rw-r--r--cpukit/score/include/rtems/score/coresemimpl.h2
-rw-r--r--cpukit/score/include/rtems/score/thread.h2
-rw-r--r--cpukit/score/include/rtems/score/threadq.h4
-rw-r--r--cpukit/score/include/rtems/score/threadqimpl.h58
-rw-r--r--cpukit/score/src/condition.c2
-rw-r--r--cpukit/score/src/corebarrierwait.c2
-rw-r--r--cpukit/score/src/coremsgseize.c2
-rw-r--r--cpukit/score/src/coremsgsubmit.c2
-rw-r--r--cpukit/score/src/coremutexseize.c2
-rw-r--r--cpukit/score/src/corerwlockobtainread.c2
-rw-r--r--cpukit/score/src/corerwlockobtainwrite.c2
-rw-r--r--cpukit/score/src/futex.c2
-rw-r--r--cpukit/score/src/mpci.c2
-rw-r--r--cpukit/score/src/mutex.c2
-rw-r--r--cpukit/score/src/semaphore.c2
-rw-r--r--cpukit/score/src/threadqenqueue.c2
-rw-r--r--cpukit/score/src/threadrestart.c2
21 files changed, 31 insertions, 69 deletions
diff --git a/cpukit/posix/src/condwaitsupp.c b/cpukit/posix/src/condwaitsupp.c
index 49352382db..9024dbf236 100644
--- a/cpukit/posix/src/condwaitsupp.c
+++ b/cpukit/posix/src/condwaitsupp.c
@@ -121,7 +121,7 @@ int _POSIX_Condition_variables_Wait_support(
&queue_context,
_POSIX_Condition_variables_Enqueue_callout
);
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&the_cond->Wait_queue.Queue,
POSIX_CONDITION_VARIABLES_TQ_OPERATIONS,
executing,
diff --git a/cpukit/posix/src/nanosleep.c b/cpukit/posix/src/nanosleep.c
index 8addc87c59..5deb2b8c02 100644
--- a/cpukit/posix/src/nanosleep.c
+++ b/cpukit/posix/src/nanosleep.c
@@ -62,7 +62,7 @@ static inline int nanosleep_helper(
* Block for the desired amount of time
*/
_Thread_queue_Acquire( &_Nanosleep_Pseudo_queue, &queue_context );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&_Nanosleep_Pseudo_queue.Queue,
&_Thread_queue_Operations_FIFO,
_Thread_Executing,
diff --git a/cpukit/posix/src/sigtimedwait.c b/cpukit/posix/src/sigtimedwait.c
index 7853dc007a..200d75fdf9 100644
--- a/cpukit/posix/src/sigtimedwait.c
+++ b/cpukit/posix/src/sigtimedwait.c
@@ -157,7 +157,7 @@ int sigtimedwait(
executing->Wait.option = *set;
executing->Wait.return_argument = the_info;
_Thread_queue_Context_set_do_nothing_enqueue_callout( &queue_context );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&_POSIX_signals_Wait_queue.Queue,
POSIX_SIGNALS_TQ_OPERATIONS,
executing,
diff --git a/cpukit/rtems/src/regiongetsegment.c b/cpukit/rtems/src/regiongetsegment.c
index dc17b21956..04be73bc4b 100644
--- a/cpukit/rtems/src/regiongetsegment.c
+++ b/cpukit/rtems/src/regiongetsegment.c
@@ -92,7 +92,7 @@ rtems_status_code rtems_region_get_segment(
_Region_Enqueue_callout
);
_Thread_queue_Context_set_relative_timeout( &queue_context, timeout );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&the_region->Wait_queue.Queue,
the_region->wait_operations,
executing,
diff --git a/cpukit/score/include/rtems/score/coresemimpl.h b/cpukit/score/include/rtems/score/coresemimpl.h
index d097b3d76c..7f5b58e76b 100644
--- a/cpukit/score/include/rtems/score/coresemimpl.h
+++ b/cpukit/score/include/rtems/score/coresemimpl.h
@@ -185,7 +185,7 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_semaphore_Seize(
}
_Thread_queue_Context_set_do_nothing_enqueue_callout( queue_context );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&the_semaphore->Wait_queue.Queue,
operations,
executing,
diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h
index 95b977e7ba..13765fc940 100644
--- a/cpukit/score/include/rtems/score/thread.h
+++ b/cpukit/score/include/rtems/score/thread.h
@@ -516,7 +516,7 @@ typedef struct {
/****************** end of common block ********************/
/**
- * @brief Thread queue callout for _Thread_queue_Enqueue_critical().
+ * @brief Thread queue callout for _Thread_queue_Enqueue().
*/
Thread_queue_MP_callout thread_queue_callout;
diff --git a/cpukit/score/include/rtems/score/threadq.h b/cpukit/score/include/rtems/score/threadq.h
index df03cfb96a..61ce5fbee2 100644
--- a/cpukit/score/include/rtems/score/threadq.h
+++ b/cpukit/score/include/rtems/score/threadq.h
@@ -193,7 +193,7 @@ struct Thread_queue_Context {
Thread_queue_Lock_context Lock_context;
/**
- * @brief The enqueue callout for _Thread_queue_Enqueue_critical().
+ * @brief The enqueue callout for _Thread_queue_Enqueue().
*
* The callout is invoked after the release of the thread queue lock with
* thread dispatching disabled. Afterwards the thread is blocked.
@@ -272,7 +272,7 @@ struct Thread_queue_Context {
/**
* @brief Invoked in case of a detected deadlock.
*
- * Must be initialized for _Thread_queue_Enqueue_critical() in case the
+ * Must be initialized for _Thread_queue_Enqueue() in case the
* thread queue may have an owner, e.g. for mutex objects.
*
* @see _Thread_queue_Context_set_deadlock_callout().
diff --git a/cpukit/score/include/rtems/score/threadqimpl.h b/cpukit/score/include/rtems/score/threadqimpl.h
index 232e9601ac..6e3c044aed 100644
--- a/cpukit/score/include/rtems/score/threadqimpl.h
+++ b/cpukit/score/include/rtems/score/threadqimpl.h
@@ -101,7 +101,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Context_initialize(
* @param queue_context The thread queue context.
* @param enqueue_callout The enqueue callout.
*
- * @see _Thread_queue_Enqueue_critical().
+ * @see _Thread_queue_Enqueue().
*/
RTEMS_INLINE_ROUTINE void
_Thread_queue_Context_set_enqueue_callout(
@@ -117,7 +117,7 @@ _Thread_queue_Context_set_enqueue_callout(
*
* @param queue_context The thread queue context.
*
- * @see _Thread_queue_Enqueue_critical().
+ * @see _Thread_queue_Enqueue().
*/
RTEMS_INLINE_ROUTINE void
_Thread_queue_Context_set_do_nothing_enqueue_callout(
@@ -133,7 +133,7 @@ _Thread_queue_Context_set_do_nothing_enqueue_callout(
* @param queue_context The thread queue context.
* @param timeout The new timeout.
*
- * @see _Thread_queue_Enqueue_critical().
+ * @see _Thread_queue_Enqueue().
*/
RTEMS_INLINE_ROUTINE void
_Thread_queue_Context_set_no_timeout(
@@ -149,7 +149,7 @@ _Thread_queue_Context_set_no_timeout(
* @param queue_context The thread queue context.
* @param discipline The clock discipline to use for the timeout.
*
- * @see _Thread_queue_Enqueue_critical().
+ * @see _Thread_queue_Enqueue().
*/
RTEMS_INLINE_ROUTINE void
_Thread_queue_Context_set_relative_timeout(
@@ -167,7 +167,7 @@ _Thread_queue_Context_set_relative_timeout(
* @param queue_context The thread queue context.
* @param discipline The clock discipline to use for the timeout.
*
- * @see _Thread_queue_Enqueue_critical().
+ * @see _Thread_queue_Enqueue().
*/
RTEMS_INLINE_ROUTINE void
_Thread_queue_Context_set_absolute_timeout(
@@ -183,7 +183,7 @@ _Thread_queue_Context_set_absolute_timeout(
* @brief Sets the deadlock callout in the thread queue
* context.
*
- * A deadlock callout must be provided for _Thread_queue_Enqueue_critical()
+ * A deadlock callout must be provided for _Thread_queue_Enqueue()
* operations that operate on thread queues which may have an owner, e.g. mutex
* objects. Available deadlock callouts are _Thread_queue_Deadlock_status()
* and _Thread_queue_Deadlock_fatal().
@@ -191,7 +191,7 @@ _Thread_queue_Context_set_absolute_timeout(
* @param queue_context The thread queue context.
* @param deadlock_callout The deadlock callout.
*
- * @see _Thread_queue_Enqueue_critical().
+ * @see _Thread_queue_Enqueue().
*/
RTEMS_INLINE_ROUTINE void _Thread_queue_Context_set_deadlock_callout(
Thread_queue_Context *queue_context,
@@ -555,7 +555,7 @@ Thread_Control *_Thread_queue_Do_dequeue(
* complete. The operation to enqueue the thread on the queue is protected by
* the thread queue lock. This makes it possible to use the thread queue lock
* to protect the state of objects embedding the thread queue and directly
- * enter _Thread_queue_Enqueue_critical() in case the thread must block.
+ * enter _Thread_queue_Enqueue() in case the thread must block.
*
* @code
* #include <rtems/score/threadqimpl.h>
@@ -583,7 +583,7 @@ Thread_Control *_Thread_queue_Do_dequeue(
* _Thread_queue_Release( &mutex->Queue, queue_context );
* } else {
* _Thread_queue_Context_set_do_nothing_enqueue_callout( &queue_context );
- * _Thread_queue_Enqueue_critical(
+ * _Thread_queue_Enqueue(
* &mutex->Queue.Queue,
* MUTEX_TQ_OPERATIONS,
* executing,
@@ -601,7 +601,7 @@ Thread_Control *_Thread_queue_Do_dequeue(
* @param[in] state The new state of the thread.
* @param[in] queue_context The thread queue context of the lock acquire.
*/
-void _Thread_queue_Enqueue_critical(
+void _Thread_queue_Enqueue(
Thread_queue_Queue *queue,
const Thread_queue_Operations *operations,
Thread_Control *the_thread,
@@ -641,44 +641,6 @@ Status_Control _Thread_queue_Enqueue_sticky(
#endif
/**
- * @brief Acquires the thread queue lock and calls
- * _Thread_queue_Enqueue_critical().
- */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Enqueue(
- Thread_queue_Control *the_thread_queue,
- const Thread_queue_Operations *operations,
- Thread_Control *the_thread,
- States_Control state,
- uint64_t timeout,
- Watchdog_Discipline discipline,
- uint32_t expected_level
-)
-{
- Thread_queue_Context queue_context;
-
- _Thread_queue_Context_initialize( &queue_context );
- _Thread_queue_Acquire( the_thread_queue, &queue_context );
- _Thread_queue_Context_set_enqueue_callout(
- &queue_context,
- _Thread_queue_Enqueue_do_nothing
- );
-
- if ( discipline == WATCHDOG_ABSOLUTE ) {
- _Thread_queue_Context_set_absolute_timeout( &queue_context, timeout );
- } else {
- _Thread_queue_Context_set_relative_timeout( &queue_context, timeout );
- }
-
- _Thread_queue_Enqueue_critical(
- &the_thread_queue->Queue,
- operations,
- the_thread,
- state,
- &queue_context
- );
-}
-
-/**
* @brief Extracts the thread from the thread queue, restores the default wait
* operations and restores the default thread lock.
*
diff --git a/cpukit/score/src/condition.c b/cpukit/score/src/condition.c
index 917f11934e..aaf2f4bd67 100644
--- a/cpukit/score/src/condition.c
+++ b/cpukit/score/src/condition.c
@@ -113,7 +113,7 @@ static Thread_Control *_Condition_Do_wait(
&context->Base,
_Condition_Enqueue_callout
);
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&condition->Queue.Queue,
CONDITION_TQ_OPERATIONS,
executing,
diff --git a/cpukit/score/src/corebarrierwait.c b/cpukit/score/src/corebarrierwait.c
index 05f78760cd..4e8709d355 100644
--- a/cpukit/score/src/corebarrierwait.c
+++ b/cpukit/score/src/corebarrierwait.c
@@ -45,7 +45,7 @@ Status_Control _CORE_barrier_Seize(
} else {
the_barrier->number_of_waiting_threads = number_of_waiting_threads;
_Thread_queue_Context_set_do_nothing_enqueue_callout( queue_context );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&the_barrier->Wait_queue.Queue,
CORE_BARRIER_TQ_OPERATIONS,
executing,
diff --git a/cpukit/score/src/coremsgseize.c b/cpukit/score/src/coremsgseize.c
index 6c98b9558c..a38f5adf60 100644
--- a/cpukit/score/src/coremsgseize.c
+++ b/cpukit/score/src/coremsgseize.c
@@ -114,7 +114,7 @@ Status_Control _CORE_message_queue_Seize(
/* Wait.count will be filled in with the message priority */
_Thread_queue_Context_set_do_nothing_enqueue_callout( queue_context );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&the_message_queue->Wait_queue.Queue,
the_message_queue->operations,
executing,
diff --git a/cpukit/score/src/coremsgsubmit.c b/cpukit/score/src/coremsgsubmit.c
index 330f43c13e..8ea7fcf6c8 100644
--- a/cpukit/score/src/coremsgsubmit.c
+++ b/cpukit/score/src/coremsgsubmit.c
@@ -132,7 +132,7 @@ Status_Control _CORE_message_queue_Submit(
executing->Wait.count = submit_type;
_Thread_queue_Context_set_do_nothing_enqueue_callout( queue_context );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&the_message_queue->Wait_queue.Queue,
the_message_queue->operations,
executing,
diff --git a/cpukit/score/src/coremutexseize.c b/cpukit/score/src/coremutexseize.c
index 7e54381864..2fef463f04 100644
--- a/cpukit/score/src/coremutexseize.c
+++ b/cpukit/score/src/coremutexseize.c
@@ -37,7 +37,7 @@ Status_Control _CORE_mutex_Seize_slow(
queue_context,
_Thread_queue_Deadlock_status
);
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&the_mutex->Wait_queue.Queue,
operations,
executing,
diff --git a/cpukit/score/src/corerwlockobtainread.c b/cpukit/score/src/corerwlockobtainread.c
index 4444afcfa5..001d259265 100644
--- a/cpukit/score/src/corerwlockobtainread.c
+++ b/cpukit/score/src/corerwlockobtainread.c
@@ -79,7 +79,7 @@ Status_Control _CORE_RWLock_Seize_for_reading(
executing->Wait.option = CORE_RWLOCK_THREAD_WAITING_FOR_READ;
_Thread_queue_Context_set_do_nothing_enqueue_callout( queue_context );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&the_rwlock->Wait_queue.Queue,
CORE_RWLOCK_TQ_OPERATIONS,
executing,
diff --git a/cpukit/score/src/corerwlockobtainwrite.c b/cpukit/score/src/corerwlockobtainwrite.c
index 0e4290ea27..ce47f434b7 100644
--- a/cpukit/score/src/corerwlockobtainwrite.c
+++ b/cpukit/score/src/corerwlockobtainwrite.c
@@ -67,7 +67,7 @@ Status_Control _CORE_RWLock_Seize_for_writing(
executing->Wait.option = CORE_RWLOCK_THREAD_WAITING_FOR_WRITE;
_Thread_queue_Context_set_do_nothing_enqueue_callout( queue_context );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&the_rwlock->Wait_queue.Queue,
CORE_RWLOCK_TQ_OPERATIONS,
executing,
diff --git a/cpukit/score/src/futex.c b/cpukit/score/src/futex.c
index d99accb539..efac831df5 100644
--- a/cpukit/score/src/futex.c
+++ b/cpukit/score/src/futex.c
@@ -95,7 +95,7 @@ int _Futex_Wait( struct _Futex_Control *_futex, int *uaddr, int val )
_Thread_queue_Context_set_do_nothing_enqueue_callout( &queue_context );
_Thread_queue_Context_set_no_timeout( &queue_context );
_Thread_queue_Context_set_ISR_level( &queue_context, level );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&futex->Queue.Queue,
FUTEX_TQ_OPERATIONS,
executing,
diff --git a/cpukit/score/src/mpci.c b/cpukit/score/src/mpci.c
index 533050085e..9981ab99ad 100644
--- a/cpukit/score/src/mpci.c
+++ b/cpukit/score/src/mpci.c
@@ -272,7 +272,7 @@ Status_Control _MPCI_Send_request_packet(
(*_MPCI_table->send_packet)( destination, the_packet );
_Thread_queue_Acquire( &_MPCI_Remote_blocked_threads, &queue_context );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&_MPCI_Remote_blocked_threads.Queue,
&_Thread_queue_Operations_FIFO,
executing,
diff --git a/cpukit/score/src/mutex.c b/cpukit/score/src/mutex.c
index 344d7877c2..7c2388df14 100644
--- a/cpukit/score/src/mutex.c
+++ b/cpukit/score/src/mutex.c
@@ -115,7 +115,7 @@ static void _Mutex_Acquire_slow(
_Thread_queue_Deadlock_fatal
);
_Thread_queue_Context_set_ISR_level( queue_context, level );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&mutex->Queue.Queue,
MUTEX_TQ_OPERATIONS,
executing,
diff --git a/cpukit/score/src/semaphore.c b/cpukit/score/src/semaphore.c
index db5e079dd3..27d3dbfc2f 100644
--- a/cpukit/score/src/semaphore.c
+++ b/cpukit/score/src/semaphore.c
@@ -106,7 +106,7 @@ void _Semaphore_Wait( struct _Semaphore_Control *_sem )
_Thread_queue_Context_set_do_nothing_enqueue_callout( &queue_context );
_Thread_queue_Context_set_no_timeout( &queue_context );
_Thread_queue_Context_set_ISR_level( &queue_context, level );
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&sem->Queue.Queue,
SEMAPHORE_TQ_OPERATIONS,
executing,
diff --git a/cpukit/score/src/threadqenqueue.c b/cpukit/score/src/threadqenqueue.c
index ce0e80c6f2..f04f44c9c0 100644
--- a/cpukit/score/src/threadqenqueue.c
+++ b/cpukit/score/src/threadqenqueue.c
@@ -410,7 +410,7 @@ static void _Thread_queue_Timeout(
}
}
-void _Thread_queue_Enqueue_critical(
+void _Thread_queue_Enqueue(
Thread_queue_Queue *queue,
const Thread_queue_Operations *operations,
Thread_Control *the_thread,
diff --git a/cpukit/score/src/threadrestart.c b/cpukit/score/src/threadrestart.c
index 46c8e4d979..dd2e0b8b2d 100644
--- a/cpukit/score/src/threadrestart.c
+++ b/cpukit/score/src/threadrestart.c
@@ -449,7 +449,7 @@ void _Thread_Join(
executing->Wait.return_argument = NULL;
#endif
- _Thread_queue_Enqueue_critical(
+ _Thread_queue_Enqueue(
&the_thread->Join_queue.Queue,
THREAD_JOIN_TQ_OPERATIONS,
executing,