Example #1
0
 INLINE void ActivateOneOutputTask(TaskQueue& queue, int task, int* tasknum)
 {   
     if (DEC_ATOMIC(&fTaskList[task]) == 0) {
         *tasknum = task;
     } else {
         *tasknum = queue.PopHead(); 
     }
 }
Example #2
0
 INLINE void ActivateOutputTask(TaskQueue& queue, int task, int* tasknum)
 {
     if (DEC_ATOMIC(&fTaskList[task]) == 0) {
         if (*tasknum == WORK_STEALING_INDEX) {
             *tasknum = task;
         } else {
             queue.PushHead(task);
         }
     }    
 }
bool JackActivationCount::Signal(JackSynchro* synchro, JackClientControl* control)
{
    if (fValue == 0) {
        // Transfer activation to next clients
        jack_error("JackActivationCount::Signal value = 0 ref = %ld", control->fRefNum);
        return synchro->Signal();
    } else if (DEC_ATOMIC(&fValue) == 1) {
        return synchro->Signal();
    } else {
        return true;
    }
}
Example #4
0
 void SignalOne()
 {
     DEC_ATOMIC(&fCurThreadCount);
 }
Example #5
0
 INLINE void ActivateOutputTask(TaskQueue& queue, int task)
 {   
     if (DEC_ATOMIC(&fTaskList[task]) == 0) {
         queue.PushHead(task);
     }
 }