[PySide] Please extract this C++ Qt6 code when compiling PySide6

BoĊĦtjan Mejak bostjan.xperia at gmail.com
Fri Sep 3 17:38:11 CEST 2021

The start() method of PySide6.QtCore.QThreadPool should also extract this
code that Qt6 has:

void QThreadPool::start(std::function<void()> functionToRun, int priority)
    if (!functionToRun)
    start(QRunnable::create(std::move(functionToRun)), priority);

and, of course

bool QThreadPool::tryStart(std::function<void()> functionToRun)
    if (!functionToRun)
        return false;

    QMutexLocker locker(&d->mutex);
    if (!d->allThreads.isEmpty() && d->activeThreadCount() >=
        return false;

    QRunnable *runnable = QRunnable::create(std::move(functionToRun));
    if (d->tryStart(runnable))
        return true;
    delete runnable;
    return false;

The declarations are there in the C++ header file (qthreadpool.h) for both.
I don't understand why isn't this extracted at PySide6 compile time.

void start(std::function<void()> functionToRun, int priority = 0);
bool tryStart(std::function<void()> functionToRun);

So extract start() and tryStart(), please. This is so convenient. Not sure
why you guys ignore this.

The qthreadpool.cpp source code is here:
And the qthreadpool.h header file is here:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20210903/c07146fb/attachment.html>

More information about the PySide mailing list