что мне нужно
функция которая посылает в порт запрос, получает ответ и возвращает результат, но как это сделать если я могу послать из функции запрос в порт, а прочитать только по сигналу в другой функции и соответ-но не могу вернуть результат первоначальной функцией.
Как это можно реализовать?
Например, на мьютексах. Взводим мьютекс и посылаем запрос в порт, затем ждём освобождения мьютекса. Когда возникает внешнее событие, его обработчик разблокирует мьютекс и наша функция продолжит выполнение. Но внешнее событье должно ловиться в другом потоке, иначе получите
deadlock. Вместо мьютекса можно использовать семафор. (Кстати, если мне не изменяет память, семафоры в Qt основаны на мьютексах...)