我对DBus有意见:
我用DBus DBus_bus_get()方法注册:OK
我添加筛选器匹配项:确定
我添加了一个过滤器回调函数:OK
我通过dbus_connection_read_write_dispatch()启动调度循环:确定
一切正常。现在,如果我插入:
1a.dbus_bus_get_unique_name()
我收到了一条讨厌的异常消息:
dbus_connection_send_with_reply_and_block()的参数不正确,断言“(error)==NULL | |!dbus_error_is_set((error))”在文件dbus connection.c行3301中失败。
请帮忙。
最佳答案
经过一些实验,似乎函数dbus_bus_get_unique_name()必须从特定上下文中调用。当我通过一个filter回调函数访问这个函数时,我得到了一个有意义的结果,例如一个注册了dbus_add_filter函数的函数。
关于linux - dbus:dbus_bus_get_unique_name问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1507477/