kernel/src/sched/SignalFlag.h
/**
         * Signals the flag, waking any threads that are pending on it.
         */
Signals the flag, waking any threads that are pending on it.
Signals the flag waking any threads that are pending on it .
void signal() {
            bool no = false, yes = true;
            if(__atomic_compare_exchange(&this->signalled, &no, &yes, false, __ATOMIC_RELEASE,
                        __ATOMIC_RELAXED)) {
                this->blocker->unblock(this->us.lock());
            }
        }
void signal ( ) { bool no = false , yes = true ; if ( __atomic_compare_exchange ( & this -> signalled , & no , & yes , false , __ATOMIC_RELEASE , __ATOMIC_RELAXED ) ) { this -> blocker -> unblock ( this -> us . lock ( ) ) ; } }
Signals the flag, waking any threads that are pending on it.
Signals the flag waking any threads that are pending on it .
// set flag and unblock if this is the first time we're to unblock // unblock the task