0

我在使用 DBus 时遇到问题:

  1. 我使用DBus dbus_bus_get()方法注册:好的
  2. 我添加过滤器匹配:好的
  3. 我添加了一个过滤回调函数:OK
  4. 我通过dbus_connection_read_write_dispatch()启动调度循环:好的

一切正常。现在,如果我插入:

1a。dbus_bus_get_unique_name()

我收到一条令人讨厌的异常消息:

dbus_connection_send_with_reply_and_block()的参数不正确,文件 dbus-connection.c 第 3301 行中的断言“(error) == NULL || ! dbus_error_is_set ((error)) ”失败。

请帮忙。

4

1 回答 1

1

经过一些实验,似乎必须从特定上下文中调用函数dbus_bus_get_unique_name() 。通过过滤器回调函数(例如使用dbus_add_filter函数注册的函数)访问此函数时,我设法获得了有意义的结果。

于 2009-10-02T12:25:38.687 回答