2009-10-02 1 views
0

У меня возникли проблемы с DBus:DBus: проблема с dbus_bus_get_unique_name

  1. зарегистрироваться с DBus dbus_bus_get() метод: OK
  2. добавить фильтр спичек: OK
  3. добавить фильтр функция обратного вызова: OK
  4. я начинаю цикл отправки через dbus_connection_read_write_dispatch(): OK

Все работает нормально. Теперь, если я вставлю:

1a. dbus_bus_get_unique_name()

я получаю неприятное сообщение об исключении:

аргументы в dbus_connection_send_with_reply_and_block() были неверны, утверждение «(ошибка) == NULL || dbus_error_is_set ((ошибка)) "не удалось в файле dbus-connection.c line 3301.

Помогите пожалуйста.

ответ

1

После некоторых экспериментов кажется, что функция dbus_bus_get_unique_name() должна вызываться из определенного контекста. Мне удалось получить существенный результат при доступе к этой функции с помощью функции фильтра обратной связи, например. один зарегистрирован в dbus_add_filter функция.

Смежные вопросы