Implement generalied IOMux implementation operations

Fix serious bug  in iomix_timers_run
This commit is contained in:
Nils O. Selåsdal
2014-03-02 06:00:05 +01:00
parent 857c2018b9
commit a112b44c6e
4 changed files with 52 additions and 36 deletions
+10 -6
View File
@@ -213,6 +213,14 @@ static void iomux_epoll_delete(struct IOMux *mux)
mux->instance = NULL;
}
}
static const struct IOMuxOps epoll_ops = {
.run_impl = iomux_epoll_run,
.delete_impl = iomux_epoll_delete,
.register_fd_impl = iomux_epoll_register_fd,
.unregister_fd_impl = iomux_epoll_unregister_fd,
.update_events_impl = iomux_epoll_update_events,
};
int iomux_epoll_init(struct IOMux *mux)
{
@@ -226,12 +234,8 @@ int iomux_epoll_init(struct IOMux *mux)
return errno;
}
mux->instance = mux_epoll;
mux->run_impl = iomux_epoll_run;
mux->delete_impl = iomux_epoll_delete;
mux->register_fd_impl = iomux_epoll_register_fd;
mux->unregister_fd_impl = iomux_epoll_unregister_fd;
mux->update_events_impl = iomux_epoll_update_events;
mux->instance = mux_epoll;
mux->ops = epoll_ops;
return 0;
}