hal_initialize() overrides other filter/object/fallback functions on separate connection

David Zeuthen david at fubar.dk
Mon Aug 2 13:36:34 PDT 2004


(Followup from a message to the hal mailinglist since this involves
dbus; original message quoted in full)

On Mon, 2004-08-02 at 15:07 -0400, Dan Williams wrote:
> Hi,
> 
> Use the referenced testcase to verify and debug.  Symptom is that if
> hal_initialize is called, filter/object/fallback functions registered on
> another _separate_ DBusConnection never get called.  
> 

Hi,

My tests confirm this is correct; the bug was that the libhal message
filter function always returned DBUS_HANDLER_RESULT_HANDLED even though
we didn't handle the message. Now we return RESULT_NOT_YET_HANDLED for
messages we don't handle (which is less rude). I've committed the fix to
HAL CVS. So now your testcase won't fail.

> Seems to be a dbus problem?
>

I think this is an issue with D-BUS, yes, why would the filter function
in the DBusConnection from libhal receive messages bound for the
DBusConnection made in your main application?

> http://people.redhat.com/dcbw/testcase.tgz
> 
> Reference versions (FC3 Rawhide):
> hal = 0.2.93.cvs20040712-2
> dbus = 0.21.cvs20040722-3
> 
> To verify:
> 
> 1) Untar
> 2) copy client.conf to /etc/dbus-1/system.d
> 3) copy client.conf to /etc/dbus-1/system.d
> 4) restart dbus daemon
> 5) restart hal daemon
> 6) ./autogen.sh
> 7) make
> 8) ./daemon
> 9) ./client
> 10) Look for "SUCCESS!!" from the client, CTRL-C both daemon and client
> 11) Modify the client code to UN-comment the "#define
> MAKE_TESTCASE_FAIL" line (thus hal_initialize() is called)
> 12) make
> 13) ./daemon
> 14) ./client
> 15) Client should not print out SUCCESS!!
> 
> (forgive the detailed instructions...)
> 
> Dan
> 
> _______________________________________________
> hal mailing list
> hal at freedesktop.org
> http://freedesktop.org/mailman/listinfo/hal
_______________________________________________
hal mailing list
hal at freedesktop.org
http://freedesktop.org/mailman/listinfo/hal



More information about the Hal mailing list