void CGraphicsBackend_Threaded::ThreadFunc(void *pUser) { CGraphicsBackend_Threaded *pThis = (CGraphicsBackend_Threaded *)pUser; while(!pThis->m_Shutdown) { pThis->m_Activity.wait(); if(pThis->m_pBuffer) { #ifdef CONF_PLATFORM_MACOSX CAutoreleasePool AutoreleasePool; #endif pThis->m_pProcessor->RunBuffer(pThis->m_pBuffer); sync_barrier(); pThis->m_pBuffer = 0x0; pThis->m_BufferDone.signal(); } } }
int sync_barrier_child(int fd[2], int seq) { return sync_barrier(fd[1], seq); }
int sync_barrier_parent(int fd[2], int seq) { return sync_barrier(fd[0], seq); }