hi ... looking at the dictionary runner, i've noticed a few things that should be improved:
* when the teardown() signal is emitted, the runner should disconnect from the DataEngine but i've also come to a few concerning conclusions: * a thread can wait indefinitely on m_wait.wait(&m_mutex); * if the user types more than $THREAD_POOL_COUNT letters before the dict engine returns, the thread pool will be filled with dictionary runner threads and therefore be exhausted looking at it further, it's evident that this runner is really working around the fact that it is multithreaded; it would be far easier in this case to simply make match() re-entrant and have just one thread of it around. for such runners, i think it would make sense to allow for them to mark themselves as re-entrant and then give them their own thread outside the shared threadpool. the nice thing about the current design is that match() methods do not need to be made re-entrant, and this makes it simpler for many of the runners. but it assumes that the runners exit quickly (freeing up the thread pool) and don't rely on any resources that have a single-thread restriction on them (as is the case with the dictionary plasmoid, among one or two others). thoughts? once we sort this part out, the i'd like to see the dictonary runner moved to kdeplasma-addons/runners/ -- Aaron J. Seigo humru othro a kohnu se GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43 KDE core developer sponsored by Qt Development Frameworks
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel