Ну вот. И я столкнулся с этой проблемой.
Глянул одним глазом приведенный выше класс. Мне кажется, но эмитить так просто сигналы из потока нельзя. Надо сделать вложенный объект.
Сейчас запилю доработанный класс, выложу в нашу копилку..
Upd. Только сейчас понял, что не существует способа остановить читающий поток, т.к. невозможно пробудить заблокированный read...
Хм. Всё плохо. Видимо надо браться за системные вызовы и писать платформозависимый код...