From d3c7fac60619f5cddd6550a9caa0bea67d6557e0 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 17 Jun 2016 19:06:30 +0200 Subject: thread/Thread: throw std::system_error on error --- src/input/ThreadInputStream.cxx | 10 +++------- src/input/ThreadInputStream.hxx | 4 +--- src/input/plugins/MmsInputPlugin.cxx | 9 +++------ 3 files changed, 7 insertions(+), 16 deletions(-) (limited to 'src/input') diff --git a/src/input/ThreadInputStream.cxx b/src/input/ThreadInputStream.cxx index 1bb11057a..f70abea36 100644 --- a/src/input/ThreadInputStream.cxx +++ b/src/input/ThreadInputStream.cxx @@ -44,8 +44,8 @@ ThreadInputStream::~ThreadInputStream() } } -InputStream * -ThreadInputStream::Start(Error &error) +void +ThreadInputStream::Start() { assert(buffer == nullptr); @@ -53,11 +53,7 @@ ThreadInputStream::Start(Error &error) assert(p != nullptr); buffer = new CircularBuffer((uint8_t *)p, buffer_size); - - if (!thread.Start(ThreadFunc, this, error)) - return nullptr; - - return this; + thread.Start(ThreadFunc, this); } inline void diff --git a/src/input/ThreadInputStream.hxx b/src/input/ThreadInputStream.hxx index 3756b7c56..6ad45545c 100644 --- a/src/input/ThreadInputStream.hxx +++ b/src/input/ThreadInputStream.hxx @@ -78,10 +78,8 @@ public: /** * Initialize the object and start the thread. - * - * @return false on error */ - InputStream *Start(Error &error); + void Start(); /* virtual methods from InputStream */ bool Check(Error &error) override final; diff --git a/src/input/plugins/MmsInputPlugin.cxx b/src/input/plugins/MmsInputPlugin.cxx index 8f16283f8..25af267e1 100644 --- a/src/input/plugins/MmsInputPlugin.cxx +++ b/src/input/plugins/MmsInputPlugin.cxx @@ -73,7 +73,7 @@ MmsInputStream::Open(Error &error) static InputStream * input_mms_open(const char *url, Mutex &mutex, Cond &cond, - Error &error) + gcc_unused Error &error) { if (!StringStartsWith(url, "mms://") && !StringStartsWith(url, "mmsh://") && @@ -82,11 +82,8 @@ input_mms_open(const char *url, return nullptr; auto m = new MmsInputStream(url, mutex, cond); - auto is = m->Start(error); - if (is == nullptr) - delete m; - - return is; + m->Start(); + return m; } size_t -- cgit v1.2.3