mirror of
https://github.com/sogou/workflow.git
synced 2026-02-08 01:33:17 +08:00
Merge branch 'master' of https://github.com/sogou/workflow into nossl
This commit is contained in:
@@ -89,6 +89,11 @@ static inline int __poller_create_pfd()
|
||||
return epoll_create(1);
|
||||
}
|
||||
|
||||
static inline int __poller_close_pfd(int fd)
|
||||
{
|
||||
return close(fd);
|
||||
}
|
||||
|
||||
static inline int __poller_add_fd(int fd, int event, void *data,
|
||||
poller_t *poller)
|
||||
{
|
||||
@@ -170,6 +175,11 @@ static inline int __poller_create_pfd()
|
||||
return kqueue();
|
||||
}
|
||||
|
||||
static inline int __poller_close_pfd(int fd)
|
||||
{
|
||||
return close(fd);
|
||||
}
|
||||
|
||||
static inline int __poller_add_fd(int fd, int event, void *data,
|
||||
poller_t *poller)
|
||||
{
|
||||
@@ -412,6 +422,9 @@ static void __poller_handle_read(struct __poller_node *node,
|
||||
|
||||
if (nleft < 0)
|
||||
break;
|
||||
|
||||
if (node->removed)
|
||||
return;
|
||||
}
|
||||
|
||||
if (__poller_remove_node(node, poller))
|
||||
@@ -547,6 +560,9 @@ static void __poller_handle_listen(struct __poller_node *node,
|
||||
node->res = res;
|
||||
if (!res)
|
||||
break;
|
||||
|
||||
if (node->removed)
|
||||
return;
|
||||
}
|
||||
|
||||
if (__poller_remove_node(node, poller))
|
||||
@@ -622,6 +638,9 @@ static void __poller_handle_recvfrom(struct __poller_node *node,
|
||||
node->res = res;
|
||||
if (!res)
|
||||
break;
|
||||
|
||||
if (node->removed)
|
||||
return;
|
||||
}
|
||||
|
||||
if (__poller_remove_node(node, poller))
|
||||
@@ -677,6 +696,9 @@ static void __poller_handle_event(struct __poller_node *node,
|
||||
node->res = res;
|
||||
if (!res)
|
||||
break;
|
||||
|
||||
if (node->removed)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -718,6 +740,9 @@ static void __poller_handle_notify(struct __poller_node *node,
|
||||
node->res = res;
|
||||
if (!res)
|
||||
break;
|
||||
|
||||
if (node->removed)
|
||||
return;
|
||||
}
|
||||
else if (n < 0 && errno == EAGAIN)
|
||||
return;
|
||||
@@ -1001,7 +1026,7 @@ poller_t *__poller_create(void **nodes_buf, const struct poller_params *params)
|
||||
__poller_close_timerfd(poller->timerfd);
|
||||
}
|
||||
|
||||
close(poller->pfd);
|
||||
__poller_close_pfd(poller->pfd);
|
||||
}
|
||||
|
||||
free(poller);
|
||||
@@ -1029,7 +1054,7 @@ void __poller_destroy(poller_t *poller)
|
||||
{
|
||||
pthread_mutex_destroy(&poller->mutex);
|
||||
__poller_close_timerfd(poller->timerfd);
|
||||
close(poller->pfd);
|
||||
__poller_close_pfd(poller->pfd);
|
||||
free(poller);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user