diff options
Diffstat (limited to 'src/engine/shared/jobs.cpp')
| -rw-r--r-- | src/engine/shared/jobs.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/engine/shared/jobs.cpp b/src/engine/shared/jobs.cpp index 4bc09325..02db4634 100644 --- a/src/engine/shared/jobs.cpp +++ b/src/engine/shared/jobs.cpp @@ -14,11 +14,11 @@ CJobPool::CJobPool() void CJobPool::WorkerThread(void *pUser) { CJobPool *pPool = (CJobPool *)pUser; - + while(1) { CJob *pJob = 0; - + // fetch job from queue lock_wait(pPool->m_Lock); if(pPool->m_pFirstJob) @@ -31,7 +31,7 @@ void CJobPool::WorkerThread(void *pUser) pPool->m_pLastJob = 0; } lock_release(pPool->m_Lock); - + // do the job if we have one if(pJob) { @@ -42,7 +42,7 @@ void CJobPool::WorkerThread(void *pUser) else thread_sleep(10); } - + } int CJobPool::Init(int NumThreads) @@ -58,9 +58,9 @@ int CJobPool::Add(CJob *pJob, JOBFUNC pfnFunc, void *pData) mem_zero(pJob, sizeof(CJob)); pJob->m_pfnFunc = pfnFunc; pJob->m_pFuncData = pData; - + lock_wait(m_Lock); - + // add job to queue pJob->m_pPrev = m_pLastJob; if(m_pLastJob) @@ -68,7 +68,7 @@ int CJobPool::Add(CJob *pJob, JOBFUNC pfnFunc, void *pData) m_pLastJob = pJob; if(!m_pFirstJob) m_pFirstJob = pJob; - + lock_release(m_Lock); return 0; } |