<table><tr><td style="">McPain created this revision.<br />McPain added reviewers: broulik, ngraham.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />McPain requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D14895">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>BUG: 397537</p>

<p>Earlier plasmashell assumed that you'll get free space info immediately (which is not true in case of losing connection to server containing a mounted filesystem - statfs will wait for response forever and freeze everything since it's happening in main thread)</p>

<p>I moved obtaining that info into different thread so that case won't freeze anything anymore.<br />
It creates exactly one thread per one path. If a path is already being processed, new thread won't be created.<br />
Also I implemented a timer used to notify about broken connection after 15 seconds.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D14895">https://phabricator.kde.org/D14895</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>dataengines/soliddevice/CMakeLists.txt<br />
dataengines/soliddevice/soliddeviceengine.cpp<br />
dataengines/soliddevice/soliddeviceengine.h</div></div></div><br /><div><strong>To: </strong>McPain, broulik, ngraham<br /><strong>Cc: </strong>plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>