diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2014-08-06 02:10:14 -0400 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2014-08-06 02:27:49 -0400 |
commit | 81ffd9bfeee6aca65f507a46c8123b47ca6e2803 (patch) | |
tree | e9eb535dbc71f35bce7519d7a6a063e4a683ba55 /firmware/kernel/mrsw_lock.c | |
parent | e7e302f2559ec2c8878e5b5205755900215196b3 (diff) | |
download | rockbox-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.c | 9 |
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 | |||
124 | mrsw_writer_wakeup_readers(struct mrsw_lock *mrsw) | 124 | mrsw_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 | ||