D-Bus有一个消息队列来保存在总线上传输的消息。默认情况下,队列大小为 64MB。您可以在创建DBusConnection对象时使用dbus_connection_set_max_messages_in_queue()函数来更改队列大小。以下是更改队列大小为128MB的示例代码:
DBusError err;
DBusConnection* conn;
dbus_error_init(&err);
conn = dbus_bus_get(DBUS_BUS_SESSION, &err);
if (dbus_error_is_set(&err)) {
fprintf(stderr, "Connection Error (%s)\n", err.message);
dbus_error_free(&err);
}
else {
dbus_connection_set_max_messages_in_queue(conn, 256*1024*1024);
}