void Thread::startAndLock(Mutex *lock) { EventHandler handler; d->threadStarted = handler.addEvent(); d->mutex = lock; this->start(); handler.waitForAny(); d->threadStarted.reset(); }