Receiving dbus signals using low-level C API

Krishna R sith.list at gmail.com
Thu Jan 25 18:50:38 PST 2007


Thanks Kimmo!

On 1/25/07, Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> wrote:
>
> On Wed, 2007-01-24 at 18:20 -0800, ext Krishna R wrote:
> > Need some more help, sorry for the trouble...
> >
> > I am able to send and recv fsignals fine, but i see that signals get
> > dropped rarely...is that even possible?
> >
> > To send the signal i do the following  steps in my app
> >
> > dbus_bus_get()
> > dbus_message_new_signal()
> > dbus_message_append_args()
> > dbus_connection_send()
> > dbus_connection_flush()
> > dbus_message_unref()
> > dbus_connection_unref()
> > exits program.
> >
> > One the recv side i add a match rule and set a filter function.
> >
> > If i run the send app manually a few times from cmd line, i rarely see
> > in the recv terminal that the signal has not been got (i use
> > fprintfs).
> > It happens once in 30 or 40 tries i do. Randomly.
> >
> > I have error checks and debug print statements for each of the calls
> > so i know none of calls themselves fail. Send app exits as a sucess
> > but the recv side never got the signal sent.
>
> It sounds like this bug:
> https://bugs.freedesktop.org/show_bug.cgi?id=896
>
> You can work around it by adding a short sleep before exiting the
> sending program.
>
> BR; Kimmo
>
> > Are there any tips for debugging this kind of problem. Or am i missing
> > something here.
> >
> > Thanks!
> > -Krish
> >
> > On 1/24/07, John (J5) Palmieri < johnp at redhat.com> wrote:
> >         On Wed, 2007-01-24 at 16:27 -0500, Havoc Pennington wrote:
> >
> >         >
> >         > > 1. Is this a correct way to recv signals? Do i have to do
> >         > > dbus_message_unref(message) in the filter function after
> >         handling it
> >         > > before i return?
> >         >
> >         > I don't believe so, I could misremember, but it would be
> >         documented if
> >         > you did have to probably.
> >
> >         Hmm, wait.  I might be misremembering too.  The filter
> >         function may
> >         unref for you and I think I was thinking of needing to unref
> >         after
> >         creating a reply message.  So if one needs to keep a message
> >         around they
> >         need to ref it.
> >
> >         --
> >         John (J5) Palmieri <johnp at redhat.com>
> >
> >
> > _______________________________________________
> > dbus mailing list
> > dbus at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/dbus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freedesktop.org/archives/dbus/attachments/20070125/52b011ab/attachment.html


More information about the dbus mailing list