recently, i try to use libcurl-7.18.2 + libevent-1.4.4, and <span style="color: rgb(255, 0, 0);">i found that the event_del() call failed so much, but event_add() call are all return successfully</span><br><br>i use the curl's example code <span style="color: rgb(255, 0, 0);">hiperfifo.c</span>, and dump some runtime info to <span style="color: rgb(255, 0, 0);">stderr.log</span><br>
below is the beginning part of stderr.log:<br>============================below======================================<br>after epoll_init, epollop->(epfd, nevents, nfds) = 3,31999,31999<br>socket callback: s=8 e=0x805c390 what=IN Adding data: IN<br>
socket callback: s=9 e=0x8072820 what=IN Adding data: IN<br>socket callback: s=10 e=0x8088ba0 what=IN Adding data: IN<br>socket callback: s=11 e=0x809ef20 what=IN Adding data: IN<br>socket callback: s=12 e=0x80b52c8 what=IN Adding data: IN<br>
socket callback: s=13 e=0x80cb658 what=IN Adding data: IN<br>socket callback: s=14 e=0x80e19e8 what=IN Adding data: IN<br>socket callback: s=15 e=0x80f7d98 what=IN Adding data: IN<br>socket callback: s=16 e=0x810e168 what=IN Adding data: IN<br>
socket callback: s=17 e=0x8124548 what=IN Adding data: IN<br>socket callback: s=18 e=0x813a900 what=IN Adding data: IN<br>socket callback: s=19 e=0x8150c90 what=IN Adding data: IN<br>socket callback: s=8 e=0x805c390 what=OUT Changing action from IN to OUT<br>
<span style="color: rgb(255, 0, 0);">Error: epoll_del: epoll_ctl return false, fd = 8, op = EPOLL_CTL_MOD, epoll_ctl() returns ENOENT</span><br style="color: rgb(255, 0, 0);"><span style="color: rgb(255, 0, 0);"> epollop->(epfd, nevents, nfds) = 3,31999,31999</span><br>
Error: event_del in setsock() return false<br>socket callback: s=9 e=0x8072820 what=OUT Changing action from IN to OUT<br><span style="color: rgb(255, 0, 0);">Error: epoll_del: epoll_ctl return false, fd = 9, op = EPOLL_CTL_MOD, epoll_ctl() returns ENOENT</span><br style="color: rgb(255, 0, 0);">
<span style="color: rgb(255, 0, 0);"> epollop->(epfd, nevents, nfds) = 3,31999,31999</span><br>Error: event_del in setsock() return false<br>......<br>============================above======================================<br clear="all">
<br>my input is <span style="color: rgb(255, 0, 0);">3000 different urls</span><br>>> grep ENOENT stderr.log | wc -l<br><span style="color: rgb(255, 0, 0);">2002</span><br>>> grep EBADF stderr.log | wc -l<br><span style="color: rgb(255, 0, 0);">1510</span><br>
<br>is it a epoll_ctl system call 's bug? <br>or libevent misuse the epoll ?<br><br>hoping for your help sincerely<br><br>-- <br><a href="mailto:dengminwen@gmail.com">dengminwen@gmail.com</a>