Ignore:
Timestamp:
Mar 27, 2020, 7:28:06 PM (4 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
bb2e05e
Parents:
f0ce5f4
Message:

Fixed ready state.
Fixed race condition between halt and wake_*

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/bits/locks.hfa

    rf0ce5f4 r92e7631  
    139139        }
    140140
    141         static inline void post(__bin_sem_t & this) with( this ) {
    142                 verify(__cfaabi_dbg_in_kernel());
    143 
     141        static inline bool post(__bin_sem_t & this) with( this ) {
    144142                pthread_mutex_lock(&lock);
    145143                        bool needs_signal = !signaled;
     
    147145                pthread_mutex_unlock(&lock);
    148146
    149                 if (needs_signal)
    150                         pthread_cond_signal(&cond);
     147                if (needs_signal) pthread_cond_signal(&cond);
     148
     149                return needs_signal;
    151150        }
    152151#endif
Note: See TracChangeset for help on using the changeset viewer.