uint32_t oldevents;
int ret;
int op;
+ int lockid = FDLOCK_ID(fd);
oldevents = manager->epoll_events[fd];
+ LOCK(&manager->fdlock[lockid]);
if (msg == SELECT_POKE_READ)
manager->epoll_events[fd] |= EPOLLIN;
else
manager->epoll_events[fd] |= EPOLLOUT;
event.events = manager->epoll_events[fd];
+ UNLOCK(&manager->fdlock[lockid]);
memset(&event.data, 0, sizeof(event.data));
event.data.fd = fd;
struct epoll_event event;
int ret;
int op;
+ int lockid = FDLOCK_ID(fd);
+ LOCK(&manager->fdlock[lockid]);
if (msg == SELECT_POKE_READ)
manager->epoll_events[fd] &= ~(EPOLLIN);
else
manager->epoll_events[fd] &= ~(EPOLLOUT);
-
event.events = manager->epoll_events[fd];
+ UNLOCK(&manager->fdlock[lockid]);
memset(&event.data, 0, sizeof(event.data));
event.data.fd = fd;