Мне нужно написать программу, которая будет принимать пакеты данных, приходящие по COM-порту и отображать их в няшном окошке в обработанном виде. Использовать буду тулкит GTK3, потому что уже достаточно хорошо его знаю. С тем чтобы открыть COM-порт и настроить его параметры я справился, но как читать данные? В консольной программе, которую я написал до этого, всё было просто - я использовал select, но для GUI приложения нужно использовать средствами тулкита, чтобы ожидание данных было интегрировано в основной цикл и не замораживало приложение.
Как это сделать на GTK3? Язык - Си.