switch_sem_etc(): Unbreak the actual switch case

The scheduler lock was still being held when release_sem_etc() was
called. The bug was introduced in
24df65921b. Fixes #8448.
This commit is contained in:
Ingo Weinhold
2012-04-05 17:35:59 +02:00
parent 81eb68f280
commit c83bde410a
+1
View File
@@ -844,6 +844,7 @@ switch_sem_etc(sem_id semToBeReleased, sem_id id, int32 count,
thread_prepare_to_block(thread, flags, THREAD_BLOCK_TYPE_SEMAPHORE,
(void*)(addr_t)id);
schedulerLocker.Unlock();
RELEASE_SEM_LOCK(sSems[slot]);
// release the other semaphore, if any