D10824: Delete IdleSlave having temporary authorization
Chinmoy Ranjan Pradhan
noreply at phabricator.kde.org
Mon Mar 5 17:34:31 UTC 2018
chinmoyr added a comment.
I haven't yet tried your patch (which btw involves the http ioslave right?) but I am quite sure that exit() is not called for file ioslave after interrupting the application. I have placed the debug statements inside exit() as well as before every exit() call and I am not seeing any output.
That aside here's what I have observed till now,
After IdleSlave is created, inside `dispatchLoop()` SlaveBase waits in this line
if (d->appConnection.hasTaskAvailable() || d->appConnection.waitForIncomingTask(ms)) {
with `appConnection` having no tasks available.
After deleting the IdleSlave `waitForIncomingTask` returns false because the `Connection` object in IdleSlave was destroyed which interrupted the connection and changed the socket state from `QAbstractSocket::ConnectedState` (It's merely a speculation. I haven't verified it yet). Then the variable `ret` is assigned -1. Since the connection was interrupted, SlaveBase returns from `dispatchLoop` and in `FileProtocol` kdemain returns thus terminating the process.
Please fill me in if you think I have missed something.
REPOSITORY
R303 KInit
REVISION DETAIL
https://phabricator.kde.org/D10824
To: chinmoyr, dfaure, #frameworks
Cc: #frameworks, michaelh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20180305/8aca4eb0/attachment.html>
More information about the Kde-frameworks-devel
mailing list