summaryrefslogtreecommitdiff
path: root/includes/StacklessTask.h
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2012-04-08 18:19:48 -0700
committerPixel <pixel@nobis-crew.org>2012-04-08 18:19:48 -0700
commit15d724abee8a610cce5544024454e27b6e4cdb16 (patch)
treefcc85cc4f189f5395834efb9bfb00fd9dcbbdbe1 /includes/StacklessTask.h
parentfb61a39850cfc8083c6a9575ac04839ed4362094 (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/StacklessTask.h')
-rw-r--r--includes/StacklessTask.h3
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); \