[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

RE: [Libevent-users] Read failures on Unix socket



> Hm.  Looking at the epoll output in the "nonblocking" case, it doesn't
> look like Libevent is doing anything weird here: epoll_wait() is
> honest-to-goodness saying "Okay to read on fd 15"...
> 
> 23:08:05 epoll_wait(4, {{EPOLLIN, {u32=15, u64=15}}}, 32, 0) = 1
> 
> ...but the recvfrom is saying EAGAIN on the same socket right after:
> 
> 23:08:05 recvfrom(15, 0xbfc03be4, 1844, 0, 0xbfc04318, 0xbfc03be0) = -1
> EAGAIN (
> Resource temporarily unavailable)

Could it be that epoll_wait actually returned a EPOLLHUP or EPOLLERR events
?
The code in libevent's epoll.c suggests that these can show up as read
events.
How is my application suppose to identify these case ?

> Is is possible that snort is sending out-of-band data, or ancillary
> data, or something?

man 7 unix says "Unix domain stream sockets do not support the notion of
out-of-band data."

***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.