Merge branch 'master' of https://github.com/sogou/workflow into nossl

This commit is contained in:
Xie Han
2024-12-16 00:51:02 +08:00

View File

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