У меня есть QThread, который читает из сокета и отправляет сигнал (сигнал QT), когда есть какие-либо доступные данные.Это было бы легко с блокировкой read (2), но мне нужно иметь возможность остановить поток снаружи, не ожидая слишком долго.
Если бы я использовал pthread, я бы использовал pselect и pthread_kill(thread_id, some_signal)
, ноQThread, похоже, не имеет подобных методов.И добавление зависимости от pthread в этот проект не кажется элегантным.
Я также не хочу использовать другие уродливые методы, такие как постоянная попытка чтения из сокета с небольшим временем ожидания.
Редактировать: сокеты не TCP, а Bluetooth L2CAP.