当我执行“dbus_connection_close”时,是否需要刷新消息队列?

换句话说,我是否需要继续执行“dbus_connection_read_write_dispatch”,直到收到“disconnected”指示或停止分发是否安全?

更新:我需要以干净的方式关闭与DBus的连接。通过阅读文档,所有清理工作都必须在“取消引用”连接之前完成,并且IMO对此过程的记录并不充分。

最佳答案

经过进一步的挖掘之后,似乎有两种连接类型:共享和专用。

共享连接不能仅在未引用的情况下关闭。此外,除非必须发送外发消息,否则似乎并没有刷新和分派(dispatch)连接。

就我而言,我只需要尽快终止通过DBus的通信,而不必尝试挽救任何传出的消息。

因此,简短的答案是:否-在dbus_connection_unref之前不需要刷新/无需调度。

关于c - dbus : flush connection?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1659153/

10-11 15:45