diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-27 13:26:53 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-30 16:16:21 +0200 |
commit | 0e1d11f3f0f02768ced350fcb53056c55f0c545b (patch) | |
tree | 1f7062ab130bf78d924a7e34eec62864f3d8ae6e /cpukit/score/src/threadqenqueue.c | |
parent | score: Adjust thread queue layout (diff) | |
download | rtems-0e1d11f3f0f02768ced350fcb53056c55f0c545b.tar.bz2 |
score: Add _Thread_queue_Context_set_MP_callout()
Add _Thread_queue_Context_set_MP_callout() to simplify
_Thread_queue_Context_initialize(). This makes it possible to more
easily add additional fields to Thread_queue_Context.
Diffstat (limited to 'cpukit/score/src/threadqenqueue.c')
-rw-r--r-- | cpukit/score/src/threadqenqueue.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/cpukit/score/src/threadqenqueue.c b/cpukit/score/src/threadqenqueue.c index 948275b74c..4eaafa9036 100644 --- a/cpukit/score/src/threadqenqueue.c +++ b/cpukit/score/src/threadqenqueue.c @@ -195,10 +195,7 @@ void _Thread_queue_Extract( Thread_Control *the_thread ) void *lock; Thread_queue_Queue *queue; - _Thread_queue_Context_initialize( - &queue_context, - _Thread_queue_MP_callout_do_nothing - ); + _Thread_queue_Context_initialize( &queue_context ); lock = _Thread_Lock_acquire( the_thread, &queue_context.Lock_context ); queue = the_thread->Wait.queue; @@ -206,6 +203,10 @@ void _Thread_queue_Extract( Thread_Control *the_thread ) if ( queue != NULL ) { _SMP_Assert( lock == &queue->Lock ); + _Thread_queue_Context_set_MP_callout( + &queue_context, + _Thread_queue_MP_callout_do_nothing + ); _Thread_queue_Extract_critical( queue, the_thread->Wait.operations, @@ -229,7 +230,8 @@ Thread_Control *_Thread_queue_Do_dequeue( Thread_queue_Context queue_context; Thread_Control *the_thread; - _Thread_queue_Context_initialize( &queue_context, mp_callout ); + _Thread_queue_Context_initialize( &queue_context ); + _Thread_queue_Context_set_MP_callout( &queue_context, mp_callout ); _Thread_queue_Acquire( the_thread_queue, &queue_context.Lock_context ); the_thread = _Thread_queue_First_locked( the_thread_queue, operations ); |