From cf05424bd04ffd549a8b5476c21197cc1c7135c9 Mon Sep 17 00:00:00 2001 From: ruti <> Date: Sun, 16 Feb 2025 19:44:20 +0300 Subject: [PATCH] Dont use POLLRDHUP --- conev.c | 8 ++++---- conev.h | 7 +++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/conev.c b/conev.c index 8278162..b24346a 100644 --- a/conev.c +++ b/conev.c @@ -60,7 +60,7 @@ struct eval *add_event(struct poolhd *pool, evcb_t cb, val->cb = cb; #ifndef NOEPOLL - struct epoll_event ev = { .events = EPOLLRDHUP | e, .data = {val} }; + struct epoll_event ev = { .events = _POLLDEF | e, .data = {val} }; if (epoll_ctl(pool->efd, EPOLL_CTL_ADD, fd, &ev)) { uniperror("add event"); return 0; @@ -69,7 +69,7 @@ struct eval *add_event(struct poolhd *pool, evcb_t cb, struct pollfd *pfd = &(pool->pevents[pool->count]); pfd->fd = fd; - pfd->events = POLLRDHUP | e; + pfd->events = _POLLDEF | e; pfd->revents = 0; #endif @@ -178,7 +178,7 @@ int mod_etype(struct poolhd *pool, struct eval *val, int type) { assert(val->fd > 0); struct epoll_event ev = { - .events = EPOLLRDHUP | type, .data = {val} + .events = _POLLDEF | type, .data = {val} }; return epoll_ctl(pool->efd, EPOLL_CTL_MOD, val->fd, &ev); } @@ -217,7 +217,7 @@ struct eval *next_event(struct poolhd *pool, int *offs, int *typel, int ms) int mod_etype(struct poolhd *pool, struct eval *val, int type) { assert(val->index >= 0 && val->index < pool->count); - pool->pevents[val->index].events = POLLRDHUP | type; + pool->pevents[val->index].events = _POLLDEF | type; return 0; } #endif diff --git a/conev.h b/conev.h index 31c6fd1..04d3220 100644 --- a/conev.h +++ b/conev.h @@ -31,8 +31,11 @@ #endif #ifdef __APPLE__ - #define POLLRDHUP POLLHUP -#elif !defined POLLRDHUP + #define _POLLDEF POLLHUP +#else + #define _POLLDEF 0 +#endif +#ifndef POLLRDHUP #define POLLRDHUP 0 #endif #define POLLTIMEOUT 0