KManageSieve::Session: move network communication to separate thread

Review Request #125748 - Created Oct. 21, 2015 and submitted

Daniel Vrátil

This moves all code in KManageSieve::Session that deals with KTcpSocket and SASL to a separate thread. The reason for this is that when I'm on a very bad/slow internet connection, the initial SASL handshake blocks in sasl_client_new(), apparently due to synchronous DNS resolution. Handling the communication in the main thread then freezes KMail on start as the Sieve code tries to check for the Vacation script. Moving the SASL communication to a thread solves the problem.

I can still access my Sieve server from KMail and KMail no longer freezes after start.

Volker Krause
Volker Krause
Laurent Montel
Daniel Vrátil
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted with commit 9ca3a1b1cb8790b8e679bbdc99c0d8fb81cca3be by Dan Vrátil to branch master.