[oi-dev] valgrind and epoll(5) illumos issue

stes@PANDORA.BE stes at telenet.be
Sun Apr 11 08:58:00 UTC 2021


I suppose (but didn't check) that there are web servers like nginx

http://nginx.org/en/docs/events.html

that use it as well if the header file is detected ..

Basically epoll seems like a useful addition in Illumos and the valgrind support for epoll is basically already there, it just must be enabled then for OpenIndiana.


----- Op 11 apr 2021 om 9:27 schreef Vincent Torri vincent.torri at gmail.com:

> On Sun, Apr 11, 2021 at 8:33 AM stes at PANDORA.BE <stes at telenet.be> wrote:
>>
>>
>> I wonder whether there are many packages using epoll at all.
> 
> I know that Enlightenment is using epoll. Aurelien will have more
> informations about this.
> 
> regards
> 
> Vincent Torri
> 
> 
>> I happen to see this now because the configure script of squeak-5,
>> finds /usr/include/sys/epoll.h and enables it.
>>
>> And it works.  Also if you compile some of the sample epoll servers on the
>> internet,
>> such as:
>>
>> https://gist.github.com/reterVision/8300781
>>
>> copy paste to sample-epoll.c and compile it , it works and if you run it under
>> valgrind,
>> you can reproduce the problem easily.
>>
>> The valgrind source code has a syswrap-linux.c file,
>> which supports epoll and epoll_ctl as linux specific calls.
>>
>> So I could copy/paste the code from syswrap-linux.c and use it in
>> syswrap-solaris.c.
>>
>> However does OpenIndiana really have to ship /usr/include/sys/epoll.h ?
>>
>> The sys/epoll.h header file could be split from SUNWcs package,
>> and provided in an optional header file package for epoll compatibility.
>>
>> There are some implications to shipping the header file sys/epoll.h by default.
>>
>> Also the docs (manpage) itself of illumos is a little bit sceptical or critical
>> of epoll.
>>
>> It writes :
>>
>> .  In particular, the Linux epoll facility will -- by design
>>        -- continue to generate events for closed file descriptors where/when the
>>        underlying file description remains open.  For example, if one were to
>>        fork(2) and
>>
>> https://illumos.org/man/5/epoll
>>
>> I can add that this seems to be happening in the Smalltalk community,
>> and that the Smalltalk developer who added epoll support is working on a
>> solution for that,
>> which hits all platforms that use epoll.
>>
>>
>> So I'm not 100% sure using epoll is a good idea, although it is an interesting
>> improvement.
>>
>>
>> Also is it a decision of OpenIndiana to support epoll or could OpenIndiana just
>> remove/split that part from Illumos,
>> and make it optional ?
>>
>> _______________________________________________
>> oi-dev mailing list
>> oi-dev at openindiana.org
>> https://openindiana.org/mailman/listinfo/oi-dev
> 
> _______________________________________________
> oi-dev mailing list
> oi-dev at openindiana.org
> https://openindiana.org/mailman/listinfo/oi-dev



More information about the oi-dev mailing list