Я пытаюсь написать подкласс GSource для работы с событиями последовательного порта. Я нашел способ сделать это с помощью интерфейса терминала POSIX, который работает с файловыми дескрипторами. По какой-то причине основной цикл событий GLib имеет особый способ работы с этой переменной.
Как говорится в документация говорит, что есть две абстрактные функции GSource, которые используются для подготовки к отправке, одна для запуска перед пулом fds и одна после. Это показывает, что, вероятно, важно позволить GLib обрабатывать файловые дескрипторы, а не реализовывать это в моей собственной функции подготовки, но нет такого условия, как "изменение состояния вывода" для работы с выводами последовательного порта. По этому поводу у меня есть некоторые вопросы.
Почему команда GLib выбрала библиотеку для обработки файлового дескриптора?
Могу ли я получить какую-то проблему, если просто проигнорирую ее и реализую в своей собственной функции подготовки?