diff options
author | Pixel <pixel@nobis-crew.org> | 2012-04-08 18:19:48 -0700 |
---|---|---|
committer | Pixel <pixel@nobis-crew.org> | 2012-04-08 18:19:48 -0700 |
commit | 15d724abee8a610cce5544024454e27b6e4cdb16 (patch) | |
tree | fcc85cc4f189f5395834efb9bfb00fd9dcbbdbe1 /includes | |
parent | fb61a39850cfc8083c6a9575ac04839ed4362094 (diff) |
If an operation returns EAgain, it already is waiting for the event. Don't wait for it again. Also, StacklessEnd() needed to break out of the switch statement if it doesn't want to crash.
Diffstat (limited to 'includes')
-rw-r--r-- | includes/StacklessTask.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/includes/StacklessTask.h b/includes/StacklessTask.h index ca5d521..d21c63a 100644 --- a/includes/StacklessTask.h +++ b/includes/StacklessTask.h @@ -27,8 +27,6 @@ class StacklessTask : public Task { operation; \ } \ catch (Balau::EAgain & e) { \ - auto evt = e.getEvent(); \ - waitFor(evt); \ taskSwitch(); \ } \ @@ -62,6 +60,7 @@ class StacklessTask : public Task { #define StacklessEnd() \ + break; \ } \ default: \ AssertHelper("unknown state", "State %i is out of range in task %s at %p", m_state, getName(), this); \ |