sitter updated this revision to Diff 73704. sitter added a comment.
redesign finish system it occured to me that the blocking nature of the finish system is entirely pointless. we already have an eventloop running anyway, so all we need to do is track whether all entities have been resolved to discoveries. when they have the discoverer is finished. when all discoverers are finished the entire loop and thus the browse cmd can terminate. also fixed some problems with forced eventloop quitting when the hard timeout is hit. before quitting the eventloop the udsentry list is flushed now, otherwise we may lose discoveries depending on timing REPOSITORY R320 KIO Extras CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D25682?vs=73405&id=73704 BRANCH arcpatch-D25682 REVISION DETAIL https://phabricator.kde.org/D25682 AFFECTED FILES smb/CMakeLists.txt smb/discovery.cpp smb/discovery.h smb/dnssddiscoverer.cpp smb/dnssddiscoverer.h smb/kdsoap-ws-discovery-client/.gitignore smb/kdsoap-ws-discovery-client/.gitlab-ci.yml smb/kdsoap-ws-discovery-client/CMakeLists.txt smb/kdsoap-ws-discovery-client/KDSoapWSDiscoveryClientConfig.cmake.in smb/kdsoap-ws-discovery-client/LICENSE smb/kdsoap-ws-discovery-client/README.md smb/kdsoap-ws-discovery-client/examples/CMakeLists.txt smb/kdsoap-ws-discovery-client/examples/onvif-discover/CMakeLists.txt smb/kdsoap-ws-discovery-client/examples/onvif-discover/main.cpp smb/kdsoap-ws-discovery-client/examples/onvif-discover/onvifdiscover.cpp smb/kdsoap-ws-discovery-client/examples/onvif-discover/onvifdiscover.h smb/kdsoap-ws-discovery-client/src/CMakeLists.txt smb/kdsoap-ws-discovery-client/src/wsdiscoveryclient.cpp smb/kdsoap-ws-discovery-client/src/wsdiscoveryclient.h smb/kdsoap-ws-discovery-client/src/wsdiscoveryprobejob.cpp smb/kdsoap-ws-discovery-client/src/wsdiscoveryprobejob.h smb/kdsoap-ws-discovery-client/src/wsdiscoverytargetservice.cpp smb/kdsoap-ws-discovery-client/src/wsdiscoverytargetservice.h smb/kdsoap-ws-discovery-client/wsdl/docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-schema-os.xsd smb/kdsoap-ws-discovery-client/wsdl/docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-wsdl-os.wsdl smb/kdsoap-ws-discovery-client/wsdl/download.sh smb/kdsoap-ws-discovery-client/wsdl/schemas.xmlsoap.org/ws/2004/08/addressing smb/kdsoap-ws-discovery-client/wsdl/schemas.xmlsoap.org/ws/2004/09/transfer/transfer.wsdl smb/kdsoap-ws-discovery-client/wsdl/schemas.xmlsoap.org/ws/2004/09/transfer/transfer.xsd smb/kdsoap-ws-discovery-client/wsdl/schemas.xmlsoap.org/ws/2005/04/discovery/ws-discovery.wsdl smb/kdsoap-ws-discovery-client/wsdl/schemas.xmlsoap.org/ws/2005/04/discovery/ws-discovery.xsd smb/kdsoap-ws-discovery-client/wsdl/www.w3.org/2006/03/addressing/ws-addr.xsd smb/kio_smb.h smb/kio_smb_browse.cpp smb/wsdiscoverer.cpp smb/wsdiscoverer.h To: sitter, dfaure, #frameworks, #dolphin Cc: meven, schmeisser, bcooksley, ngraham, caspermeijn, davidedmundson, kde-frameworks-devel, kfm-devel, pberestov, iasensio, fprice, LeGast00n, MrPepe, fbampaloukas, alexde, GB_2, Codezela, feverfew, michaelh, spoorun, navarromorales, firef, andrebarros, bruns, emmanuelp, mikesomov