How about disconnecting the signal (QObject::disconnect()) and reconnecting it when the thread has restarted? I never used it, but I would assume that disconnecting a signal would discard any queued signals (then again, assumptions are dangerous )