--===============1513173507== Content-Type: multipart/signed; boundary="nextPart2366540.YOolMjyMYa"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit --nextPart2366540.YOolMjyMYa Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable hi ... looking at the dictionary runner, i've noticed a few things that should be= =20 improved: * when the teardown() signal is emitted, the runner should disconnect from = the=20 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=20 engine returns, the thread pool will be filled with dictionary runner threa= ds=20 and therefore be exhausted looking at it further, it's evident that this runner is really working arou= nd=20 the fact that it is multithreaded; it would be far easier in this case to=20 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=20 themselves as re-entrant and then give them their own thread outside the=20 shared threadpool. the nice thing about the current design is that match() methods do not need= to=20 be made re-entrant, and this makes it simpler for many of the runners. but = it=20 assumes that the runners exit quickly (freeing up the thread pool) and don'= t=20 rely on any resources that have a single-thread restriction on them (as is = the=20 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=20 kdeplasma-addons/runners/ =2D-=20 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 --nextPart2366540.YOolMjyMYa Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) iEYEABECAAYFAkx0MrQACgkQ1rcusafx20OoagCgp3NDvhtgFEqgV6HJbCl7GqhQ 9oQAn2GWAY2oOozRaC0zOFNRqm6eIUCz =/Egb -----END PGP SIGNATURE----- --nextPart2366540.YOolMjyMYa-- --===============1513173507== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel --===============1513173507==--