Lines Matching defs:i_pCond

500  *    i_pCond         the pointer to the conditional variable which is to be
511 int K_InitConditionalVariable (K_ConditionalVariable * i_pCond)
516 i_pCond->m_hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
517 i_pCond->m_hMutex = CreateMutex(NULL, FALSE, NULL);
518 i_pCond->m_iSignalAll = 0;
519 i_pCond->m_iNumWaiting = 0;
523 if ( pthread_cond_init(i_pCond, NULL) )
547 * i_pCond the pointer to the conditional variable which is to be
557 int K_DestroyConditionalVariable(K_ConditionalVariable * i_pCond)
561 CloseHandle(i_pCond->m_hMutex);
562 CloseHandle(i_pCond->m_hEvent);
565 if ( pthread_cond_destroy(i_pCond) )
586 * i_pCond the pointer to the conditional variable
597 int K_WaitConditionalVariable(K_ConditionalVariable * i_pCond,
607 iOK = WaitForSingleObject(i_pCond->m_hMutex, INFINITE);
612 i_pCond->m_iNumWaiting++;
613 ReleaseMutex(i_pCond->m_hMutex);
616 res = WaitForSingleObject(i_pCond->m_hEvent, INFINITE);
617 i_pCond->m_iNumWaiting--;
621 ReleaseMutex(i_pCond->m_hMutex);
625 if (i_pCond->m_iSignalAll)
627 if (i_pCond->m_iNumWaiting == 0)
629 ResetEvent(i_pCond->m_hEvent);
634 if (i_pCond->m_iSignalled)
636 i_pCond->m_iSignalled = 0;
637 ResetEvent(i_pCond->m_hEvent);
640 ReleaseMutex(i_pCond->m_hMutex);
648 if ( pthread_cond_wait(i_pCond, i_handle) )
668 * i_pCond the pointer to the conditional variable
678 int K_SignalConditionalVariable(K_ConditionalVariable * i_pCond)
685 iReturn = WaitForSingleObject(i_pCond->m_hMutex, INFINITE);
691 i_pCond->m_iSignalled = 1;
693 iReturn = SetEvent(i_pCond->m_hEvent);
698 ReleaseMutex(i_pCond->m_hMutex);
703 if ( pthread_cond_signal(i_pCond) )
722 * i_pCond the pointer to the conditional variable
732 int K_BroadcastConditionalVariable(K_ConditionalVariable * i_pCond)
741 iReturn = WaitForSingleObject(i_pCond->m_hMutex, INFINITE);
746 i_pCond->m_iSignalled = 1;
747 i_pCond->m_iSignalAll = 1;
749 iReturn = SetEvent(i_pCond->m_hEvent);
756 ReleaseMutex(i_pCond->m_hMutex);
762 if ( pthread_cond_broadcast(i_pCond) )