Lines Matching refs:runnable

62     QRunnable *runnable;  member in QThreadPoolThread
74 :manager(manager), runnable(nullptr) in QThreadPoolThread()
86 QRunnable *r = runnable; in run()
87 runnable = nullptr; in run()
193 Q_ASSERT(thread->runnable == nullptr); in tryStart()
197 thread->runnable = task; in tryStart()
212 void QThreadPoolPrivate::enqueueTask(QRunnable *runnable, int priority) in enqueueTask() argument
214 Q_ASSERT(runnable != nullptr); in enqueueTask()
217 page->push(runnable); in enqueueTask()
222 queue.insert(std::distance(queue.constBegin(), it), new QueuePage(runnable, priority)); in enqueueTask()
259 void QThreadPoolPrivate::startThread(QRunnable *runnable) in startThread() argument
261 Q_ASSERT(runnable != nullptr); in startThread()
268 thread->runnable = runnable; in startThread()
360 bool QThreadPool::tryTake(QRunnable *runnable) in tryTake() argument
364 if (runnable == nullptr) in tryTake()
369 if (page->tryTake(runnable)) { in tryTake()
374 if (runnable->autoDelete()) { in tryTake()
375 Q_ASSERT(runnable->ref == 1); in tryTake()
376 --runnable->ref; // undo ++ref in start() in tryTake()
391 void QThreadPoolPrivate::stealAndRunRunnable(QRunnable *runnable) in stealAndRunRunnable() argument
394 if (!q->tryTake(runnable)) in stealAndRunRunnable()
396 const bool del = runnable->autoDelete(); in stealAndRunRunnable()
398 runnable->run(); in stealAndRunRunnable()
401 Q_ASSERT(runnable->ref == 0); // tryTake already deref'ed in stealAndRunRunnable()
402 delete runnable; in stealAndRunRunnable()
504 void QThreadPool::start(QRunnable *runnable, int priority) in start() argument
506 if (!runnable) in start()
511 if (runnable->autoDelete()) { in start()
512 Q_ASSERT(runnable->ref == 0); in start()
513 ++runnable->ref; in start()
516 if (!d->tryStart(runnable)) { in start()
517 d->enqueueTask(runnable, priority); in start()
556 bool QThreadPool::tryStart(QRunnable *runnable) in tryStart() argument
558 if (!runnable) in tryStart()
561 if (runnable->autoDelete()) { in tryStart()
562 Q_ASSERT(runnable->ref == 0); in tryStart()
563 ++runnable->ref; in tryStart()
568 if (d->tryStart(runnable)) in tryStart()
573 if (runnable->autoDelete()) { in tryStart()
574 --runnable->ref; in tryStart()
575 Q_ASSERT(runnable->ref == 0); in tryStart()
599 QRunnable *runnable = QRunnable::create(std::move(functionToRun)); in tryStart() local
600 if (d->tryStart(runnable)) in tryStart()
602 delete runnable; in tryStart()
805 void QThreadPool::cancel(QRunnable *runnable) in cancel() argument
807 if (tryTake(runnable) && runnable->autoDelete() && !runnable->ref) // tryTake already deref'ed in cancel()
808 delete runnable; in cancel()