kded DCOP deadlock (kwallet/kpasswdserver)

Waldo Bastian bastian at kde.org
Thu Mar 10 10:14:14 GMT 2005


On Thursday 10 March 2005 10:09, David Faure wrote:
> The problem with kded being a single process / single thread, is when two
> kded modules want to talk to each other using DCOP:

[Snip]
> ^ waits for DCOP call to KWallet to finish
[Snip]
> ^ while the dialog is up, kpasswdserver gets another DCOP request
[Snip]
> ^ KWallet is busy displaying a dialog
[Snip]
> Waldo: is this the kind of thing that can be fixed with DCOP transactions?
> Or... any ideas?

Not sure, actually... the problem is that if checkAuth starts a DCOP 
transaction, it would still be possible that the checkAuth transaction gets 
handled while we are in the KWallet event-loop of the dialog and it would 
still deadlock.

The only thing that I can think of is when the kpasswdserver would somehow 
stop processing requests altogether while KWallet has its dialog up.

It's a bit hard to do that selectively for kpasswdserver only, but it is 
possible to stop handling incoming DCOP transaction altogether. Then there 
will still be a small race remaining wrt kpasswdserver transactions that have 
already started and are queued to be handled.

Cheers,
Waldo
-- 
bastian at kde.org   |   Free Novell Linux Desktop 9 Evaluation Download
bastian at suse.com  |   http://www.novell.com/products/desktop/eval.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050310/3289f455/attachment.sig>


More information about the kde-core-devel mailing list