change of polling engine

Juraj Lutter juraj at lutter.sk
Wed Dec 9 10:05:40 UTC 2020


Hi,

FWIW, configure called with —cc-opt="-DNXT_HAVE_EPOLL_EDGE=0 -DNXT_HAVE_EPOLL=0 -DNXT_HAVE_EVENTPORT=1"

gives:

checking for Linux epoll ... found
checking for Linux signalfd() ... found
checking for Linux eventfd() ... found
checking for kqueue ... not found
checking for Solaris event port ... found
checking for /dev/poll … found

thus, epoll is still being used and now even build fails:

src/nxt_epoll_engine.c: In function 'nxt_epoll_create':
src/nxt_epoll_engine.c:237:15: error: 'union <anonymous>' has no member named 'epoll'; did you mean 'poll'?
     engine->u.epoll.fd = -1;
               ^~~~~
               poll
src/nxt_epoll_engine.c:238:15: error: 'union <anonymous>' has no member named 'epoll'; did you mean 'poll'?
     engine->u.epoll.mode = mode;
               ^~~~~
               poll

Thanks

otis

—
Juraj Lutter
XMPP: juraj (at) lutter.sk
GSM: +421907986576

> On 8 Dec 2020, at 11:29, Juraj Lutter <juraj at lutter.sk> wrote:
> 
> Hi,
> 
> on illumos, epoll() is found but is not working as
> expected (somewhere in the code, there is timeout -1
> that is causing it to wait).
> 
> I’ve patched auto/events to not use epoll on illumos,
> leaving eventports in use, and now it work as expected.
> 
> 
> I also have some other patches in place, see:
> https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=tree;f=unit/patches;h=8cd8485225809826953a79f9cc1c35d27e64622e;hb=HEAD
> 
> We are working on it with Sergey Osokin.
> 
> otis
> 
>> Juraj Lutter
> XMPP: juraj (at) lutter.sk
> GSM: +421907986576
> 
>> On 8 Dec 2020, at 07:11, Igor Sysoev <igor at sysoev.ru> wrote:
>> 
>>> On 8 Dec 2020, at 01:59, Juraj Lutter <juraj at lutter.sk> wrote:
>>> 
>>> Hi,
>>> 
>>> I am debugging a situation on SmartOS (with unit 1.21.0) where
>>> after reconfiguration, the controller socket just blocks
>>> indefinitely (the listener is created, however), but
>>> curl just won’t return to calling shell.
>>> 
>>> Is there any way to specify which event engine should be used at run time?
>>> 
>>> It is not clear to me from the documentation.
>>> 
>>> Any help/advices appreciated :-)
>> 
>> Could you share these output of ./configure: 
>> 
>> checking for Linux epoll ... not found
>> checking for kqueue ... found
>> checking for kqueue EVFILT_USER ... found
>> checking for Solaris event port ... not found
>> checking for /dev/poll ... not found
>> checking for AIX pollset ... not found
>> 
> 
> _______________________________________________
> unit mailing list
> unit at nginx.org
> https://mailman.nginx.org/mailman/listinfo/unit



More information about the unit mailing list