forked from len0rd/rockbox
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
This commit is contained in:
parent
e7e302f255
commit
81ffd9bfee
5 changed files with 14 additions and 20 deletions
|
@ -1527,10 +1527,8 @@ void block_thread(struct thread_entry *current, int timeout)
|
|||
* INTERNAL: Intended for use by kernel objects and not for programs.
|
||||
*---------------------------------------------------------------------------
|
||||
*/
|
||||
unsigned int thread_queue_wake(struct thread_entry **list,
|
||||
volatile int *count)
|
||||
unsigned int thread_queue_wake(struct thread_entry **list)
|
||||
{
|
||||
int num = 0;
|
||||
unsigned result = THREAD_NONE;
|
||||
|
||||
for (;;)
|
||||
|
@ -1541,12 +1539,8 @@ unsigned int thread_queue_wake(struct thread_entry **list,
|
|||
break; /* No more threads */
|
||||
|
||||
result |= rc;
|
||||
num++;
|
||||
}
|
||||
|
||||
if (count)
|
||||
*count = num;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -1821,7 +1815,7 @@ static inline void thread_final_exit(struct thread_entry *current)
|
|||
* execution except the slot itself. */
|
||||
|
||||
/* Signal this thread */
|
||||
thread_queue_wake(¤t->queue, NULL);
|
||||
thread_queue_wake(¤t->queue);
|
||||
corelock_unlock(¤t->waiter_cl);
|
||||
switch_thread();
|
||||
/* This should never and must never be reached - if it is, the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue