Hi Marc, > You should be able to develop a QPromise/QPackagedTask with the current > QFutureInterface already. > At least as long as it's attached to some > QThreadPool. > What, exactly, are you trying to do that requires a patch to QFI? I am not aware of any QPackagedTask in Qt, only of packaged_task in C++11. Or do you mean RunFunctionTaskBase?
The QFuture(Interface) represents the return value of a function, e.g., the one passed in QtConcurrent::run. The QFuture(Interface) will execute the function on a thread pool. As soon as this function returns, the return value is stored and the state of the promise set to Finished. Our (simplified) problem is: this function does not return a value but feeds an asynchronous pipeline. When the pipeline processing is done it will call promise.SetResult(); promise.reportResult(); and only then the future should be notified of the result. We can achieve this by using a custom waitForFinished() in our future wrapper, instead of using the QFuture waitForFinished. But this requires access to the QWaitCondition of the QFutureInterface. I hope the use case is clear. The C++11 future/promise achieves exactly this, and we are using the QFuture in a similar way. Thanks Christian _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development