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

Re: [Libevent-users] Should my code be able to deal with EAGAIN?



On Wed, Jun 26, 2019 at 3:07 PM Jasper Siepkes <siepkes@xxxxxxxxxxxxxxxx> wrote:
>
> Hi!
>
> Thanks for your answer! Sorry about the mix-up with example. That definitely didn't help getting my question across ;-).
>
> What actually my problem is is that libevent gives me an EAGAIN error in a connection listener (callback) when running on SmartOS (ie. Solaris). And I was wondering if that was normal? As far as I can tell the documentation for suchs listeners is specified "A callback that we invoke when a listener encounters a non-retriable error.". Hence the inquiry whether I as user of libevent should be able to handle EGAIN? The documentation seems to imply I should only be getting fatal errors, not something like EGAIN?

Can you provide strace-like output for such an issue?
Also where did you get EAGAIN in the callback or an error callback?
(actually you should not get it in any of them).

> I'm actually running libevent with 'EVENT_NOEVPORT=yes' because I encountered an situation in which libevent seems to be getting in an unbound loop and starts consuming 100% CPU. But thats not related I think (and something I will delve in later) to the more conceptual question on how and where to deal with EAGAIN.

Hm, could be related, if accept() always returns EAGAIN and always got
an event like there is some activity on this socket, again strace-like
output (for minimal example of course) will help to figure out what is
going wrong here.

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