MCPcopy Create free account
hub / github.com/cisco/openh264 / QueueTask

Method QueueTask

codec/common/src/WelsThreadPool.cpp:251–273  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

249}
250
251WELS_THREAD_ERROR_CODE CWelsThreadPool::QueueTask (IWelsTask* pTask) {
252 CWelsAutoLock cLock (m_cLockPool);
253
254 //fprintf(stdout, "CWelsThreadPool::QueueTask: %d, pTask=%x\n", m_iRefCount, pTask);
255 if (GetWaitedTaskNum() == 0) {
256 CWelsTaskThread* pThread = GetIdleThread();
257
258 if (pThread != NULL) {
259 //fprintf(stdout, "ThreadPool: ExecuteTask = %x at thread %x\n", pTask, pThread);
260 pThread->SetTask (pTask);
261
262 return WELS_THREAD_ERROR_OK;
263 }
264 }
265 //fprintf(stdout, "ThreadPool: AddTaskToWaitedList: %x\n", pTask);
266 if (false == AddTaskToWaitedList (pTask)) {
267 return WELS_THREAD_ERROR_GENERAL;
268 }
269
270 //fprintf(stdout, "ThreadPool: SignalThread: %x\n", pTask);
271 SignalThread();
272 return WELS_THREAD_ERROR_OK;
273}
274
275WELS_THREAD_ERROR_CODE CWelsThreadPool::CreateIdleThread() {
276 CWelsTaskThread* pThread = new CWelsTaskThread (this);

Callers 2

OneCallingFuncFunction · 0.80
ExecuteTaskListMethod · 0.80

Calls 1

SetTaskMethod · 0.80

Tested by 1

OneCallingFuncFunction · 0.64