MXS-2008 Store worker as MXB_WORKER* and not void*

This commit is contained in:
Johan Wikman 2018-08-17 15:49:57 +03:00
parent e0cb11151f
commit 40a5ae81c7
10 changed files with 14 additions and 15 deletions

View File

@ -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;

View File

@ -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();

View File

@ -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. */

View File

@ -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

View File

@ -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<void*>(0xdeadbeef);
dcb->poll.owner = reinterpret_cast<MXB_WORKER*>(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);

View File

@ -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);
};

View File

@ -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<MessageQueue*>(pData);

View File

@ -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<RoutingWorker*>(pData);
ss_dassert(pThis == pWorker);

View File

@ -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<WorkerTimer*>(pThis)->handle(static_cast<Worker*>(pWorker), events);
}

View File

@ -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<LocalClient*>(data);
client->process(events);