summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/coresem.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-04-15 21:18:26 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-04-21 07:29:39 +0200
commitadbedd10cfe5259018b1682d903ab40f6005b3f0 (patch)
treedde02dde8c5760625667a949661f0bfab266e0dc /cpukit/score/src/coresem.c
parentposix: Avoid Giant lock for mutexes (diff)
downloadrtems-adbedd10cfe5259018b1682d903ab40f6005b3f0.tar.bz2
score: Introduce _Thread_queue_Flush_critical()
Replace _Thread_queue_Flush() with _Thread_queue_Flush_critical() and add a filter function for customization of the thread queue flush operation. Update #2555.
Diffstat (limited to 'cpukit/score/src/coresem.c')
-rw-r--r--cpukit/score/src/coresem.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/cpukit/score/src/coresem.c b/cpukit/score/src/coresem.c
index 2bdd81c76a..02a3837410 100644
--- a/cpukit/score/src/coresem.c
+++ b/cpukit/score/src/coresem.c
@@ -36,3 +36,25 @@ void _CORE_semaphore_Initialize(
the_semaphore->operations = &_Thread_queue_Operations_FIFO;
}
}
+
+Thread_Control *_CORE_semaphore_Was_deleted(
+ Thread_Control *the_thread,
+ Thread_queue_Queue *queue,
+ ISR_lock_Context *lock_context
+)
+{
+ the_thread->Wait.return_code = CORE_SEMAPHORE_WAS_DELETED;
+
+ return the_thread;
+}
+
+Thread_Control *_CORE_semaphore_Unsatisfied_nowait(
+ Thread_Control *the_thread,
+ Thread_queue_Queue *queue,
+ ISR_lock_Context *lock_context
+)
+{
+ the_thread->Wait.return_code = CORE_SEMAPHORE_STATUS_UNSATISFIED_NOWAIT;
+
+ return the_thread;
+}