diff --git a/include/maxscale/messagequeue.hh b/include/maxscale/messagequeue.hh index 1255e460d..0a1a8d578 100644 --- a/include/maxscale/messagequeue.hh +++ b/include/maxscale/messagequeue.hh @@ -195,7 +195,7 @@ private: uint32_t handle_poll_events(Worker* pWorker, uint32_t events); - static uint32_t poll_handler(MXB_POLL_DATA* pData, void* worker, uint32_t events); + static uint32_t poll_handler(MXB_POLL_DATA* pData, MXB_WORKER* worker, uint32_t events); private: Handler& m_handler; diff --git a/include/maxscale/protocol/mariadb_client.hh b/include/maxscale/protocol/mariadb_client.hh index 61f2d27d8..c83aa7995 100644 --- a/include/maxscale/protocol/mariadb_client.hh +++ b/include/maxscale/protocol/mariadb_client.hh @@ -60,7 +60,7 @@ public: private: static LocalClient* create(MYSQL_session* session, MySQLProtocol* proto, const char* ip, uint64_t port); LocalClient(MYSQL_session* session, MySQLProtocol* proto, int fd); - static uint32_t poll_handler(MXB_POLL_DATA* data, void* worker, uint32_t events); + static uint32_t poll_handler(MXB_POLL_DATA* data, MXB_WORKER* worker, uint32_t events); void process(uint32_t events); GWBUF* read_complete_packet(); void drain_queue(); diff --git a/include/maxscale/worker.hh b/include/maxscale/worker.hh index 394c2e5ba..0f3ce1d10 100644 --- a/include/maxscale/worker.hh +++ b/include/maxscale/worker.hh @@ -471,7 +471,7 @@ protected: private: uint32_t handle(Worker* pWorker, uint32_t events); - static uint32_t handler(MXB_POLL_DATA* pThis, void* pWorker, uint32_t events); + static uint32_t handler(MXB_POLL_DATA* pThis, MXB_WORKER* pWorker, uint32_t events); private: int m_fd; /**< The timerfd descriptor. */ diff --git a/maxutils/maxbase/include/maxbase/poll.h b/maxutils/maxbase/include/maxbase/poll.h index 75657561c..bf4e6e662 100644 --- a/maxutils/maxbase/include/maxbase/poll.h +++ b/maxutils/maxbase/include/maxbase/poll.h @@ -43,13 +43,12 @@ typedef struct MXB_WORKER * * @return A combination of mxb_poll_action_t enumeration values. */ -// TODO: Change void* to MXS_WORKER -typedef uint32_t (*mxb_poll_handler_t)(struct MXB_POLL_DATA* data, void* worker, uint32_t events); +typedef uint32_t (*mxb_poll_handler_t)(struct MXB_POLL_DATA* data, MXB_WORKER* worker, uint32_t events); typedef struct MXB_POLL_DATA { mxb_poll_handler_t handler; /*< Handler for this particular kind of mxb_poll_data. */ - void* owner; /*< Owning worker. */ + MXB_WORKER* owner; /*< Owning worker. */ } MXB_POLL_DATA; MXB_END_DECLS diff --git a/server/core/dcb.cc b/server/core/dcb.cc index aee7b8497..1d8066979 100644 --- a/server/core/dcb.cc +++ b/server/core/dcb.cc @@ -115,7 +115,7 @@ static bool dcb_add_to_worker(Worker* worker, DCB *dcb, uint32_t events); static DCB *dcb_find_free(); static void dcb_remove_from_list(DCB *dcb); -static uint32_t dcb_poll_handler(MXB_POLL_DATA *data, void* worker, uint32_t events); +static uint32_t dcb_poll_handler(MXB_POLL_DATA *data, MXB_WORKER* worker, uint32_t events); static uint32_t dcb_process_poll_events(DCB *dcb, uint32_t ev); static bool dcb_session_check(DCB *dcb, const char *); static int upstream_throttle_callback(DCB *dcb, DCB_REASON reason, void *userdata); @@ -342,7 +342,7 @@ dcb_free_all_memory(DCB *dcb) } // Ensure that id is immediately the wrong one. - dcb->poll.owner = reinterpret_cast(0xdeadbeef); + dcb->poll.owner = reinterpret_cast(0xdeadbeef); MXS_FREE(dcb); } @@ -3186,7 +3186,7 @@ static uint32_t dcb_handler(DCB* dcb, uint32_t events) return rv; } -static uint32_t dcb_poll_handler(MXB_POLL_DATA *data, void* worker, uint32_t events) +static uint32_t dcb_poll_handler(MXB_POLL_DATA *data, MXB_WORKER* worker, uint32_t events) { uint32_t rval = 0; DCB *dcb = (DCB*)data; @@ -3409,7 +3409,7 @@ private: static bool add_fd_to_routing_workers(int fd, uint32_t events, MXB_POLL_DATA* data) { bool rv = true; - void* previous_owner = data->owner; + MXB_WORKER* previous_owner = data->owner; rv = RoutingWorker::add_shared_fd(fd, events, data); diff --git a/server/core/internal/routingworker.hh b/server/core/internal/routingworker.hh index aae1e05dc..b83adfafc 100644 --- a/server/core/internal/routingworker.hh +++ b/server/core/internal/routingworker.hh @@ -429,7 +429,7 @@ private: void delete_zombies(); - static uint32_t epoll_instance_handler(MXB_POLL_DATA* data, void* worker, uint32_t events); + static uint32_t epoll_instance_handler(MXB_POLL_DATA* data, MXB_WORKER* worker, uint32_t events); uint32_t handle_epoll_events(uint32_t events); }; diff --git a/server/core/messagequeue.cc b/server/core/messagequeue.cc index 46cee14a7..78183fde5 100644 --- a/server/core/messagequeue.cc +++ b/server/core/messagequeue.cc @@ -315,7 +315,7 @@ uint32_t MessageQueue::handle_poll_events(Worker* pWorker, uint32_t events) } //static -uint32_t MessageQueue::poll_handler(MXB_POLL_DATA* pData, void* pWorker, uint32_t events) +uint32_t MessageQueue::poll_handler(MXB_POLL_DATA* pData, MXB_WORKER* pWorker, uint32_t events) { MessageQueue* pThis = static_cast(pData); diff --git a/server/core/routingworker.cc b/server/core/routingworker.cc index 25e6e42b0..3db5012b9 100644 --- a/server/core/routingworker.cc +++ b/server/core/routingworker.cc @@ -544,7 +544,7 @@ void RoutingWorker::epoll_tick() * @return What actions were performed. */ //static -uint32_t RoutingWorker::epoll_instance_handler(MXB_POLL_DATA* pData, void* pWorker, uint32_t events) +uint32_t RoutingWorker::epoll_instance_handler(MXB_POLL_DATA* pData, MXB_WORKER* pWorker, uint32_t events) { RoutingWorker* pThis = static_cast(pData); ss_dassert(pThis == pWorker); diff --git a/server/core/worker.cc b/server/core/worker.cc index 8d6618582..33bb9a78f 100644 --- a/server/core/worker.cc +++ b/server/core/worker.cc @@ -255,7 +255,7 @@ uint32_t WorkerTimer::handle(Worker* pWorker, uint32_t events) } //static -uint32_t WorkerTimer::handler(MXB_POLL_DATA* pThis, void* pWorker, uint32_t events) +uint32_t WorkerTimer::handler(MXB_POLL_DATA* pThis, MXB_WORKER* pWorker, uint32_t events) { return static_cast(pThis)->handle(static_cast(pWorker), events); } diff --git a/server/modules/protocol/MySQL/mariadb_client.cc b/server/modules/protocol/MySQL/mariadb_client.cc index 661ed8988..2ab5ff674 100644 --- a/server/modules/protocol/MySQL/mariadb_client.cc +++ b/server/modules/protocol/MySQL/mariadb_client.cc @@ -225,7 +225,7 @@ void LocalClient::drain_queue() } } -uint32_t LocalClient::poll_handler(MXB_POLL_DATA* data, void* worker, uint32_t events) +uint32_t LocalClient::poll_handler(MXB_POLL_DATA* data, MXB_WORKER* worker, uint32_t events) { LocalClient* client = static_cast(data); client->process(events);