Need DCOP advice

Waldo Bastian bastian at kde.org
Wed May 4 15:25:26 BST 2005


On Tuesday 03 May 2005 23:03, Michael Pyne wrote:
> Hi all,
>
> I'm trying to get some advice on a DCOP-related issue.  When you run the
> MediaControl applet in kicker, and then start juk, kicker freezes for a few
> seconds until JuK has finished loading.
>
> This is because JuK has blocked DCOP signals during startup, and this is
> blocking the applet's DCOP sends() and calls().  

It mostly affects the call() I assume, send() should return directly either 
way.

> I've tried changing the 
> call in question that's blocking to callAsync(), but that doesn't help,
> apparently because the async part is for the message receive, not both
> send/receive.

callAsync only works if the receiver uses a DCOP transaction to handle the 
call. It returns to the caller once the receiver has started the transaction.
Since JuK doesn't handle DCOP calls at all, it will not start a DCOP 
transaction either, if it were to use one.
I think that DBUS will be able to do that better.

> So, I'm wondering: Is there a function I can call to check if an app is
> blocking DCOP signals? 

No.

> If not, is it possible to send calls through the 
> dcop client in a thread other than the GUI thread (properly secured by a
> mutex)?

No, I don't think so. DCOP doesn't have any thread support at all and I doubt 
that simply adding a mutex will be enough to make it work.

Cheers,
Waldo
-------------- 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/20050504/136cbe55/attachment.sig>


More information about the kde-core-devel mailing list