GTask cancellation in Vala does not reach nested async calls — propagation semantics unclear
I am designing an asynchronous Vala service that wraps several nested GIO async calls inside a single GTask , and I need cancellation and a hard timeout to terminate the whole chain cleanly. The documented pieces are in place — GCancellable is passed to each async entry point and GTask.cancel() / is_cancelled are available — but the propagation semantics are