Создал сокет, повесил на событие входящего подключения создание нового треда, отнаследованного от QThread. Если в его методе run() писать socket->waitForReadyRead(); и далее socket->write(block); то всё отлично. Однако если перенести код в отдельный слот и повесить его на сигнал readyRead, а в run() войти в цикл событий через exec(), то когда программа начнёт выполнять socket->write(block), то выскакивает сообщение:
QObject: Cannot create children for a parent that is in a different thread. (Parent is QNativeSocketEngine(0xbb9de0), parent's thread is Connection(0xbb8910), current thread is QThread(0xb8b4a0)
т.е. write почему-то залезает в главный тред программы. Что за хрень?