change of polling engine

Valentin V. Bartenev vbart at nginx.com
Wed Dec 9 10:46:49 UTC 2020


Hi,

I think it would be better to find out what's wrong in case of epoll.
Could you share a debug log with the issue?

Note, that some time ago we finally dropped Solaris from our testing builds
due to constantly increasing burden of maintaining its support.  So, I'm not
sure that eventport code is still in a good shape and able to function well.

Also, the issue can be irrelevant to the event method.

  wbr, Valentin V. Bartenev


On Wednesday, 9 December 2020 13:05:40 MSK Juraj Lutter wrote:
> 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
> 
> _______________________________________________
> unit mailing list
> unit at nginx.org
> https://mailman.nginx.org/mailman/listinfo/unit
> 






More information about the unit mailing list