@@ -747,8 +747,11 @@ eloop_signal_set_cb(struct eloop *eloop, const int *signals, size_t nsignals,
747747 EV_SET (ke ++ , (uintptr_t )eloop -> signals [i ], EVFILT_SIGNAL ,
748748 EV_ADD , 0 , 0 , NULL );
749749 }
750- if (i != 0 && _kevent (eloop -> fd , kes , i , NULL , 0 , NULL ) == -1 )
751- error = -1 ;
750+ if (i != 0 ) {
751+ if (_kevent (eloop -> fd , kes , i , NULL , 0 , NULL ) == -1 )
752+ error = -1 ;
753+ eloop -> events_need_setup = true;
754+ }
752755out :
753756 free (kes );
754757#endif
@@ -883,7 +886,7 @@ eloop_run_kqueue(struct eloop *eloop, const struct timespec *ts)
883886 struct eloop_event * e ;
884887 unsigned short events ;
885888
886- n = _kevent (eloop -> fd , NULL , 0 , eloop -> fds , eloop -> nevents , ts );
889+ n = _kevent (eloop -> fd , NULL , 0 , eloop -> fds , eloop -> nfds , ts );
887890 if (n == -1 )
888891 return -1 ;
889892
@@ -938,7 +941,7 @@ eloop_run_epoll(struct eloop *eloop, const struct timespec *ts)
938941 } else
939942 timeout = -1 ;
940943
941- n = epoll_pwait (eloop -> fd , eloop -> fds , (int )eloop -> nevents , timeout ,
944+ n = epoll_pwait (eloop -> fd , eloop -> fds , (int )eloop -> nfds , timeout ,
942945 & eloop -> sigset );
943946 if (n == -1 )
944947 return -1 ;
@@ -973,7 +976,7 @@ eloop_run_ppoll(struct eloop *eloop, const struct timespec *ts)
973976 struct pollfd * pfd ;
974977 unsigned short events ;
975978
976- n = ppoll (eloop -> fds , (nfds_t )eloop -> nevents , ts , & eloop -> sigset );
979+ n = ppoll (eloop -> fds , (nfds_t )eloop -> nfds , ts , & eloop -> sigset );
977980 if (n == -1 || n == 0 )
978981 return n ;
979982
0 commit comments