summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/threadqflush.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/src/threadqflush.c')
-rw-r--r--cpukit/score/src/threadqflush.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/cpukit/score/src/threadqflush.c b/cpukit/score/src/threadqflush.c
index 8dca3f9fd4..13d2a5b1ac 100644
--- a/cpukit/score/src/threadqflush.c
+++ b/cpukit/score/src/threadqflush.c
@@ -22,13 +22,14 @@
#include <rtems/score/objectimpl.h>
void _Thread_queue_Flush(
- Thread_queue_Control *the_thread_queue,
+ Thread_queue_Control *the_thread_queue,
+ const Thread_queue_Operations *operations,
#if defined(RTEMS_MULTIPROCESSING)
- Thread_queue_Flush_callout remote_extract_callout,
+ Thread_queue_Flush_callout remote_extract_callout,
#else
- Thread_queue_Flush_callout remote_extract_callout RTEMS_UNUSED,
+ Thread_queue_Flush_callout remote_extract_callout RTEMS_UNUSED,
#endif
- uint32_t status
+ uint32_t status
)
{
ISR_lock_Context lock_context;
@@ -36,7 +37,14 @@ void _Thread_queue_Flush(
_Thread_queue_Acquire( the_thread_queue, &lock_context );
- while ( (the_thread = _Thread_queue_First_locked( the_thread_queue ) ) ) {
+ while (
+ (
+ the_thread = _Thread_queue_First_locked(
+ the_thread_queue,
+ operations
+ )
+ )
+ ) {
#if defined(RTEMS_MULTIPROCESSING)
if ( _Objects_Is_local_id( the_thread->Object.id ) )
#endif
@@ -44,7 +52,7 @@ void _Thread_queue_Flush(
_Thread_queue_Extract_critical(
&the_thread_queue->Queue,
- the_thread_queue->operations,
+ operations,
the_thread,
&lock_context
);