diff options
-rw-r--r-- | src/input/plugins/CurlInputPlugin.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/input/plugins/CurlInputPlugin.cxx b/src/input/plugins/CurlInputPlugin.cxx index 01c3c6838..dc26e0aa2 100644 --- a/src/input/plugins/CurlInputPlugin.cxx +++ b/src/input/plugins/CurlInputPlugin.cxx @@ -955,11 +955,14 @@ CurlInputStream::Seek(InputPlugin::offset_type new_offset, int whence, /* seek to EOF: simulate empty result; avoid triggering a "416 Requested Range Not Satisfiable" response */ + mutex.lock(); return true; } - if (!InitEasy(error)) + if (!InitEasy(error)) { + mutex.lock(); return false; + } /* send the "Range" header */ @@ -970,8 +973,10 @@ CurlInputStream::Seek(InputPlugin::offset_type new_offset, int whence, ready = false; - if (!input_curl_easy_add_indirect(this, error)) + if (!input_curl_easy_add_indirect(this, error)) { + mutex.lock(); return false; + } mutex.lock(); WaitReady(); |