1 #ifndef _OS_WORKQUEUE_HPP_
2 #define _OS_WORKQUEUE_HPP_
6 #include "os_thread.hpp"
15 friend class WorkQueue;
18 virtual void run(void) = 0;
19 virtual ~WorkQueueWork(void) { }
23 std::queue<WorkQueueWork *> work_queue;
27 os::condition_variable wake_cond;
28 os::condition_variable complete_cond;
34 void wake_up_thread(void);
37 void thread_entry(void);
38 void queue_work(WorkQueueWork *work);