Skip to content

Remove timeouts from calls to await

Flo Lee requested to merge fix-hanging-async into ubports/xenial

The implementation of the await() helper is flawed: If a timeout occurs the message loop i stopped and control returns to the caller. But if the caller does not check if the QFuture is finished (which none of the call sites did so far) the code will get be blocked, potentially forever.

The await helper is a great thing, but it needs some measures to report back if a timeout has happened, and only then user code can start to use this feature. For now lets assume that tdlib does always return a result for such calls, as this is defined per API: Either a result or an error code will be delivered.

Merge request reports