Hi,

Thanks all for getting back to me. The program--and the relevant sections in particular, isn't *that* big, maybe 4K lines, and I'm the sole author. The connect statement connecting signal and slot is made only once, and WriteToProc (signal) and WriteToProc (slot) are connected exclusively to each other. As for Qt::UniqueConnection, I can try that anyway, can it just be |'ed with the others? I guess I'll experiment and see. wysota--
You do realize that the WriteToProc() slot will be called from the context of the main thread and not the context of the worker thread, right?
No I did not! Here's my connect statement:
Qt Code:
  1. MyWorkerThread::run()
  2. {
  3. ....
  4. connect(&expt, SIGNAL(WriteToProc(const QByteArray&,int*)), this, SLOT(WriteToProc(const QByteArray&,int*)));
  5. exec();
  6. }
To copy to clipboard, switch view to plain text mode 

I also have 'moveToThread(this)' in MyWorkerThread's constructor. I thought the above produced a Qt::QueuedConnection and these executed the slot in the context of the worker thread. Is that wrong? Or did you mean, the signal is emitted in the context of the main thread? If the latter, yes, I know.

Matt