I can only suggest that you use a wait condition to stop the emiting thread and release it from a slot. It's still a bad design though, because you may experience unwanted behaviour when two objects are connected to that signal.

Qt Code:
  1. connect(thread, SIGNAL(someSignal()), someother, SLOT(someSlot()));
  2. //...
  3. void MyThread::someMethod(){
  4. m.lock();
  5. emit someSignal();
  6. wcond.wait(&m);
  7. m.unlock();
  8. }
  9. //...
  10. void OtherClass::someSlot(){
  11. doSomething();
  12. wcond.wakeAll();
  13. }
To copy to clipboard, switch view to plain text mode 

I don't know what will happen if the slot will be called immediately after emit someSignal(), before wcond.wait() -- you might end up in a deadlock. You might want to take a look at QWaitCondition docs to see how to avoid it.