From 250b303a9e36f1ddcb3e3b28a130a8674839a3a7 Mon Sep 17 00:00:00 2001 From: Pixel Date: Thu, 17 Nov 2011 08:28:17 -0800 Subject: Since tasks can be on different task managers, one has to signal them a bit differently. --- includes/Task.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'includes/Task.h') 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 { -- cgit v1.2.3