summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/LuaTask.cc4
1 files changed, 3 insertions, 1 deletions
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;
}