Merge branch 'v0.21.x'

This commit is contained in:
Max Kellermann 2019-05-16 22:12:08 +02:00
commit 5e266cd8e4

View File

@ -48,6 +48,9 @@ BufferingInputStream::~BufferingInputStream() noexcept
void void
BufferingInputStream::Check() BufferingInputStream::Check()
{ {
if (read_error)
std::rethrow_exception(read_error);
if (input) if (input)
input->Check(); input->Check();
} }
@ -165,6 +168,8 @@ BufferingInputStream::RunThread() noexcept
own InputStream interface) is in own InputStream interface) is in
"read" mode */ "read" mode */
read_error = std::current_exception(); read_error = std::current_exception();
client_cond.notify_one();
OnBufferAvailable();
} }
} else if (!idle && !read_error && } else if (!idle && !read_error &&
input->IsAvailable() && !input->IsEOF()) { input->IsAvailable() && !input->IsEOF()) {