From 81ffd9bfeee6aca65f507a46c8123b47ca6e2803 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Wed, 6 Aug 2014 02:10:14 -0400 Subject: Fix some stuff for no priority and thread_queue_wake() doesn't need the 2nd parameter. The original purpose for it never came to be. Non priority version mrsw_writer_wakeup_readers was left improperly finished. Get that back into line. Change-Id: Ic613a2479f3cc14dc7c761517670eb15178da9f5 --- firmware/kernel/mrsw_lock.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'firmware/kernel/mrsw_lock.c') diff --git a/firmware/kernel/mrsw_lock.c b/firmware/kernel/mrsw_lock.c index 42f43caec3..46ab893622 100644 --- a/firmware/kernel/mrsw_lock.c +++ b/firmware/kernel/mrsw_lock.c @@ -124,8 +124,15 @@ static FORCE_INLINE unsigned int mrsw_writer_wakeup_readers(struct mrsw_lock *mrsw) { mrsw->splay.blocker.thread = NULL; - for (int count = 0; mrsw->queue && mrsw->queue->retval != 0; count++) + int count = 0; + + while (mrsw->queue && mrsw->queue->retval != 0) + { wakeup_thread(&mrsw->queue); + count++; + } + + mrsw->count = count; return THREAD_OK; } -- cgit v1.2.3