From 15d724abee8a610cce5544024454e27b6e4cdb16 Mon Sep 17 00:00:00 2001 From: Pixel Date: Sun, 8 Apr 2012 18:19:48 -0700 Subject: 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. --- includes/StacklessTask.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'includes/StacklessTask.h') 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); \ -- cgit v1.2.3