decoder/Thread: catch C++ exceptions from the decoder plugin

This commit is contained in:
Max Kellermann 2016-09-08 19:24:15 +02:00
parent 308010794a
commit a9acc9c971

View File

@ -439,7 +439,7 @@ decoder_run_song(DecoderControl &dc,
*/
static void
decoder_run(DecoderControl &dc)
{
try {
dc.ClearError();
assert(dc.song != nullptr);
@ -463,7 +463,10 @@ decoder_run(DecoderControl &dc)
}
decoder_run_song(dc, song, uri_utf8, path_fs);
} catch (...) {
dc.state = DecoderState::ERROR;
dc.error = std::current_exception();
dc.client_cond.signal();
}
static void