DBus 1.1.4 and weird message handling

Ross Burton ross at burtonini.com
Thu Jan 24 07:36:55 PST 2008


On Thu, 2008-01-24 at 13:59 +0000, Simon McVittie wrote:
> Your two replies are coming from bus names :1.0 (success) and :1.1
> (failure), according to the monitor. What processes have those unique names?
> It looks to me as though the method call message got delivered to more
> than one process somehow...

Okay, found it.  The client library is doing this:

#define NOTIFY_RULE \
    "type='method_call',interface='org.gnome.GConf.Database'"
dbus_bus_add_match (global_conn, NOTIFY_RULE, NULL);

Aside from the point that notify messages should be signals, this means
that every gconf-using application was getting the messages intended for
the server.  I've fixed this by adding "member='Notify'" and that
appears to work, but as to how this worked on DBus 1.0 is a very good
question...

Did messages sent to named services only get sent there, instead of
everyone who was listening?  I'm also wondering if the bus sniffing
fixes have led to more clients getting messages.

Ross
-- 
Ross Burton                                 mail: ross at burtonini.com
                                          jabber: ross at burtonini.com
                                     www: http://www.burtonini.com./
 PGP Fingerprint: 1A21 F5B0 D8D0 CFE3 81D4 E25A 2D09 E447 D0B4 33DF





More information about the dbus mailing list