From 0e9a58842a03ca7e15cf81a9954684d29a025798 Mon Sep 17 00:00:00 2001 From: Pixel Date: Sun, 8 Apr 2012 18:23:01 -0700 Subject: Renaming 'StacklessWait' into 'StacklessWaitCond', and adding 'StacklessOperationOrCond'. --- includes/StacklessTask.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'includes') diff --git a/includes/StacklessTask.h b/includes/StacklessTask.h index d21c63a..bb18a7a 100644 --- a/includes/StacklessTask.h +++ b/includes/StacklessTask.h @@ -31,6 +31,20 @@ class StacklessTask : public Task { } \ +#define StacklessOperationOrCond(operation, cond) \ + m_state = __LINE__; \ + } \ + case __LINE__: { \ + try { \ + if (!(cond)) { \ + operation; \ + } \ + } \ + catch (Balau::EAgain & e) { \ + taskSwitch(); \ + } \ + + #define StacklessWaitFor(evt) \ m_state = __LINE__; \ waitFor(evt); \ @@ -39,7 +53,7 @@ class StacklessTask : public Task { case __LINE__: { \ -#define StacklessWait(cond) \ +#define StacklessWaitCond(cond) \ m_state = __LINE__; \ } \ case __LINE__: { \ -- cgit v1.2.3