working of g_main_loop_run() and GThread on different platform.

Alban Crequy alban.crequy at collabora.co.uk
Thu Aug 19 04:15:38 PDT 2010


Le Wed, 18 Aug 2010 14:25:27 +0530,
"Mukesh Savaliya" <Mukesh.Savaliya at MatrixComSec.com> a écrit :

> G_main_loop_run() which is running inside  GThread. Is there any
> particular things in dbus or glib, which prevents
> the remote events invoking the callback function of Glib?

Can you use strace on the thread which is supposed to receive the
D-Bus signal? You will know whether or not your thread receives the
D-Bus signal on the socket.

1. If it is received, dbus_g_proxy_connect_signal is not done correctly.
  Is there any error on stderr or syslog?

2. If it is not received:

  2.1. Is your thread blocked on select() or poll()? You can check if
  the file descriptor for D-Bus is correctly specified in select/poll.

  2.2. You can also check with dbus-monitor whether the D-Bus method
  call "AddMatch" is done correctly on the right object with the right
  match rule when you create the proxy and when you connect to the D-Bus
  signal.

BR,
Alban


More information about the dbus mailing list