MCPcopy Create free account
hub / github.com/Overload-Technologies/Overload / getWork

Method getWork

Dependencies/soloud/src/core/soloud_thread.cpp:314–328  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

312 }
313
314 PoolTask * Pool::getWork()
315 {
316 PoolTask *t = 0;
317 if (mWorkMutex) lockMutex(mWorkMutex);
318 if (mMaxTask > 0)
319 {
320 int r = mRobin % mMaxTask;
321 mRobin++;
322 t = mTaskArray[r];
323 mTaskArray[r] = mTaskArray[mMaxTask - 1];
324 mMaxTask--;
325 }
326 if (mWorkMutex) unlockMutex(mWorkMutex);
327 return t;
328 }
329 }
330}

Callers 1

poolWorkerFunction · 0.80

Calls 2

lockMutexFunction · 0.85
unlockMutexFunction · 0.85

Tested by

no test coverage detected