Skip to content

Commit eea208c

Browse files
committed
sem: Restructure calculation of waiter count a little
1 parent cc9a9a8 commit eea208c

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

mcfgthread/sem.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ _MCF_sem_signal_some(_MCF_sem* sem, intptr_t value_add)
7575
return -2; /* would overflow */
7676

7777
new = old;
78-
wake_num = _MCF_minz(-(size_t) old.__value, (size_t) value_add) & (size_t) (old.__value >> (__MCF_PTR_BITS - 1));
78+
wake_num = _MCF_minz(-(size_t) (old.__value & (old.__value >> (__MCF_PTR_BITS - 1))), (size_t) value_add);
7979
new.__value = old.__value + value_add;
8080
}
8181
while(!_MCF_atomic_cmpxchg_weak_pptr_rlx(sem, &old, &new));

0 commit comments

Comments
 (0)