If it is a disconnection event resulted from FIN or RESET, you could detect that by read() or recv(), not by select/poll. So, disconnect belongs to EV_READ and its not an error.
Yufei ________________________________ From: ZHOU Xiaobo <[email protected]> To: [email protected] Sent: Fri, January 28, 2011 11:26:38 PM Subject: Re: [Libevent-users] About the parameter of callback I mean the error 'epoll'(or sth else) detected. for example, if a socket is closed by its peer, and the corresponding callback is invoked, how can the callback know that there is and error happened? try to read/write the socket first? ----- Original Message ----- From: "ren yufei" <[email protected]> To: [email protected] Sent: 2011年 1 月 29日, 星期六 上午 3:02:33 GMT +08:00 Beijing / Chongqing / Hong Kong / Urumqi Subject: Re: [Libevent-users] About the parameter of callback What kind of error on the socket did you refer? Because there is no 'EV_ERROR', you could not set this kind of event for detecting(as select). So, you don't have method or don't need detect ERR(please distinguish with err generated by read()) on a socket. Yufei ________________________________ From: 守望者一号 <[email protected]> To: libevent-users <[email protected]> Sent: Fri, January 28, 2011 1:24:53 PM Subject: [Libevent-users] About the parameter of callback The callback's prototype is (void)(*)(int, short, void*) the second parameter indicates what kind of event(s) happen. I found libevent-1.4.10 didn't have EV_ERROR. So my question is: When monitoring a socket, what value will be set to the second parameter if an error occurred on the socket? thanks *********************************************************************** To unsubscribe, send an e-mail to [email protected] with unsubscribe libevent-users in the body.
