anchao opened a new pull request #2598:
URL: https://github.com/apache/incubator-nuttx/pull/2598


   ## Summary
   
   fs/epoll: add asynchronous epoll control support
   fs/epoll: add sanity check to handle invalid control option 
   
   In current implementation, the asynchronous call "epoll_ctl()" unable
   to wakeup the thread if pending on "epoll_wait()", the newly
   added/delete FD cannot be used in the current waiting list,
   this patch uses a reserved file object to wake up pending poll internal,
   re-traverse the waiting list when a new event comes.
   
   Signed-off-by: chao.an <anc...@xiaomi.com>
   
   ## Impact
   
   epoll_ctl/epoll_wait
   
   ## Testing
   
   thread 1:
   nfds = epoll_wait(epfd, events, 20, -1);
   
   thread 2:
   epoll_ctl(epfd, EPOLL_CTL_ADD, connfd, &ev);
   write(connfd, "1", 1);
   
   check whether the thread 1 will be awakened.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to