summaryrefslogtreecommitdiff
path: root/firmware/kernel/mrsw_lock.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2014-08-06 02:10:14 -0400
committerMichael Sevakis <jethead71@rockbox.org>2014-08-06 02:27:49 -0400
commit81ffd9bfeee6aca65f507a46c8123b47ca6e2803 (patch)
treee9eb535dbc71f35bce7519d7a6a063e4a683ba55 /firmware/kernel/mrsw_lock.c
parente7e302f2559ec2c8878e5b5205755900215196b3 (diff)
downloadrockbox-81ffd9bfeee6aca65f507a46c8123b47ca6e2803.tar.gz
rockbox-81ffd9bfeee6aca65f507a46c8123b47ca6e2803.zip
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
Diffstat (limited to 'firmware/kernel/mrsw_lock.c')
-rw-r--r--firmware/kernel/mrsw_lock.c9
1 files changed, 8 insertions, 1 deletions
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
124mrsw_writer_wakeup_readers(struct mrsw_lock *mrsw) 124mrsw_writer_wakeup_readers(struct mrsw_lock *mrsw)
125{ 125{
126 mrsw->splay.blocker.thread = NULL; 126 mrsw->splay.blocker.thread = NULL;
127 for (int count = 0; mrsw->queue && mrsw->queue->retval != 0; count++) 127 int count = 0;
128
129 while (mrsw->queue && mrsw->queue->retval != 0)
130 {
128 wakeup_thread(&mrsw->queue); 131 wakeup_thread(&mrsw->queue);
132 count++;
133 }
134
135 mrsw->count = count;
129 return THREAD_OK; 136 return THREAD_OK;
130} 137}
131 138