Synchronous calls to the same mainloop
Thiago Macieira
thiago at kde.org
Fri Nov 10 11:40:53 PST 2006
keith preston wrote:
>I guess I don't see a good use case of Process A synchronously calls
> Process B who in the middle of the call synchronously calls Process A.
Unfortunately, this is a very common programming practice in KDE. DCOP had
protection against this kind of "deadlock".
It's worse when process A calls process B, which calls process C which in
turn calls process A. This also happened in KDE and was also protected in
DCOP.
Both protections are now dropped in D-Bus. We considered that adding this
kind of deadlock prevention only solved simple cases. Anything more
complex still went by undetected during development and ended up showing
up after release. So, by not trying to detect these deadlocks (simply
blocking the entire application(s) if it happens) should make it easier
for the programmer to see the issue and fix it before release.
> I'm really not focused on solving all
> synchronous blocking problems because that seems generally impossible,
> just the case of a Process wanting to use DBus to Synchronously call
> itself.
QtDBus already does this by providing option #1 from your original email.
I am not certain it would be more efficient to have it in libdbus,
performance-wise. But at least for completeness, I agree it should.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/dbus/attachments/20061110/4c8b59e3/attachment.pgp
More information about the dbus
mailing list