summaryrefslogtreecommitdiff
path: root/includes/Task.h
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2011-11-17 08:28:17 -0800
committerPixel <pixel@nobis-crew.org>2011-11-17 08:28:17 -0800
commit250b303a9e36f1ddcb3e3b28a130a8674839a3a7 (patch)
treed99b7583a29a0fede0388d0948961d9db4a9eb61 /includes/Task.h
parent0c4f27688622053a35d5b14ad138a6cd0fba20c4 (diff)
Since tasks can be on different task managers, one has to signal them a bit differently.
Diffstat (limited to 'includes/Task.h')
-rw-r--r--includes/Task.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/includes/Task.h b/includes/Task.h
index 22c522e..9244347 100644
--- a/includes/Task.h
+++ b/includes/Task.h
@@ -65,10 +65,15 @@ class TaskEvent : public BaseEvent {
TaskEvent(Task * taskWaited);
virtual ~TaskEvent();
void ack();
+ void signal();
Task * taskWaited() { return m_taskWaited; }
+ void evt_cb(ev::async & w, int revents) { doSignal(); }
+ protected:
+ virtual void gotOwner(Task * task);
private:
Task * m_taskWaited;
- bool m_ack;
+ bool m_ack, m_distant;
+ ev::async m_evt;
};
class Async : public BaseEvent {