Hi Arno,

> This was easier than expected. QFutures are already linked in a
> doubly-linked list. Once the inner future is available, we just have to
> relink the chain elements.

Thanks for pushing the patch. I commented on the change.
The approach works for simple cases (which are maybe most common).
However, I do not know how to make it reliably work in a general case.

Best regards,
Ivan

________________________________________
From: Development <[email protected]> on behalf of Arno Rehn 
<[email protected]>
Sent: Friday, January 30, 2026 9:15 AM
To: [email protected]
Subject: Re: [Development] QPromise cancellation

On 28.01.2026 13:00, Arno Rehn wrote:
> On 28.01.2026 12:37, Ivan Solovev wrote:
>> I must admit that I did not look at the CallOutInterface when trying to
>> solve the problem. So, I'd be interested to have a look at a WIP patch.
>> Maybe we could find a way to fit it nicely into the implementation.
>> Even though in general I agree that QFuture internals are already
>> too complicated.
>
> I'll come up with something, but likely not today anymore. Tracking
> lifetimes across the implicitly shared state is gonna be... "fun".
>
> OTOH, maybe we can unify some of the continuation/CallOutInterface stuff
> while we're at it. Only

https://codereview.qt-project.org/c/qt/qtbase/+/708578

This was easier than expected. QFutures are already linked in a
doubly-linked list. Once the inner future is available, we just have to
relink the chain elements.

In a similar way we can propagate this to the inner futures of whenAll()
and whenAny(), just that the doubly-linked list then becomes a tree.

Cheers,
Arno

--
Arno Rehn
Principal Software Engineer
Tel +49 89 189 166 0
Fax +49 89 189 166 111
[email protected]
http://www.menlosystems.com/

Menlo Systems GmbH
Bunsenstrasse 5, D-82152 Martinsried, Germany
Amtsgericht München HRB 138145
Geschäftsführung: Dr. Michael Mei, Dr. Ronald Holzwarth
USt.-IdNr. DE217772017, St.-Nr. 14316170324
--
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development
-- 
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to