From e6e2b7afcc92cf0baecd83188e859af7a510da09 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Mon, 5 Aug 2013 09:36:28 +0200 Subject: Don't crash a LuaTask on EAgain; let it thru. Also don't yield if you crashed. --- src/LuaTask.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/LuaTask.cc') diff --git a/src/LuaTask.cc b/src/LuaTask.cc index e7d78ff..a549563 100644 --- a/src/LuaTask.cc +++ b/src/LuaTask.cc @@ -80,13 +80,15 @@ void Balau::LuaTask::Do() { else m_cell->run(L); } + catch (EAgain & e) { + } catch (GeneralException & e) { m_cell->m_exception = new GeneralException(e); } catch (...) { m_cell->setError(); } - if (L.yielded()) { + if (L.yielded() && !m_cell->m_exception) { yield(); continue; } -- cgit v1.2.3