public:
virtual void read_cb(int fd) = 0;
virtual void write_cb(int fd) = 0;
- virtual ~aio_callback() {}
+ virtual ~aio_callback();
};
class poll_mgr {
poll_mgr();
~poll_mgr();
- static poll_mgr shared_mgr;
-
void add_callback(int fd, poll_flag flag, aio_callback *ch);
void del_callback(int fd, poll_flag flag);
void block_remove_fd(int fd);
void wait_loop();
+ void shutdown();
private:
- mutex m_;
+ std::mutex m_;
cond changedone_c_;
- map<int, aio_callback *> callbacks_;
+ std::map<int, aio_callback *> callbacks_;
unique_ptr<class wait_manager> aio_;
bool pending_change_=false, shutdown_=false;