1 #ifndef _OS_WORKQUEUE_HPP_
2 #define _OS_WORKQUEUE_HPP_
13 friend class WorkQueue;
16 virtual void run(void) = 0;
17 virtual ~WorkQueueWork(void) { }
21 void *WorkQueue__entry_thunk(void *data);
25 std::queue<WorkQueueWork *> work_queue;
29 pthread_cond_t wake_cond;
30 pthread_cond_t complete_cond;
34 void wake_up_thread(void);
35 void thread_entry(void);
37 friend void *WorkQueue__entry_thunk(void *data);
39 void queue_work(WorkQueueWork *work);