i am sorry, the previous problem i posted seems to be that libcurl behave different with libevent, but not the fault of libevent.<br><br>i think the problem can be explain like this:<br><br>1. libcurl detect a sockfd to be BAD or GONE<br>
2. libcurl tell the user&#39;s callback func to do a REMOVE to this sockfd<br>3. user&#39;s callback func call epoll_del() to this sockfd<br>4. in function epoll_del(), <span style="color: rgb(0, 0, 0);">epoll_ctl() returns ENOENT or EBADF</span><br>
<br><br><div class="gmail_quote">2008/6/8 &lt;<a href="mailto:dengminwen@gmail.com">dengminwen@gmail.com</a>&gt;:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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&#39;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-&gt;(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);">&nbsp;&nbsp;&nbsp; epollop-&gt;(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);">&nbsp;&nbsp;&nbsp; epollop-&gt;(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>&gt;&gt; grep ENOENT stderr.log | wc -l<br><span style="color: rgb(255, 0, 0);">2002</span><br>&gt;&gt; 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 &#39;s bug? <br>or libevent misuse the epoll ?<br><br>hoping for your help sincerely<br><font color="#888888"><br>-- <br><a href="mailto:dengminwen@gmail.com" target="_blank">dengminwen@gmail.com</a>
</font></blockquote></div><br><br clear="all"><br>-- <br><a href="mailto:dengminwen@gmail.com">dengminwen@gmail.com</a>