diff --git a/src/input/Open.cxx b/src/input/Open.cxx index cb4b932f3..9d52541bb 100644 --- a/src/input/Open.cxx +++ b/src/input/Open.cxx @@ -67,10 +67,13 @@ InputStream::OpenReady(const char *uri, if (is == nullptr) return nullptr; - mutex.lock(); - is->WaitReady(); - bool success = is->Check(error); - mutex.unlock(); + bool success; + + { + const ScopeLock protect(mutex); + is->WaitReady(); + success = is->Check(error); + } if (!success) is.reset();