Я использую интерактивный исходный код gatttool для связи с другими устройствами. Я изменил код и написал несколько функций-оболочек, сделал из него библиотеку и использовал ее в своем коде. Всякий раз, когда данные (запись без ответа) отправляются на подключенное устройство и если они не получены подключенным устройством (успех возвращается из функции write_data_cmd ), я отключаю устройство и пытаюсь восстановить соединение. Но иногда зависает при отключении. Я не могу найти точную причину, но функция g_attrib_unref , вызываемая в interactive.c, вызывает проблему и не возвращает. Я использую Bluez 5.42