Тупик при использовании libdbus - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть процесс, который вызывает и предоставляет методы D-Bus другим процессам для вызова.Я использую простую ветку диспетчеризации, используя dbus_connection_read_write_dispatch().И основной, и диспетчерский потоки совместно используют соединение DBus.

Если я вызываю любую блокирующую функцию libdbus (например, dbus_connection_send_with_reply_and_block (), dbus_connection_flush ()) в основном потоке, я получаю тупиковую ситуацию ~ 50% времени.

У меня есть упрощенный код, воспроизводящий проблему как GitHubGist

...