Привет, Виталий!

We are trying to keep updated all documentation, but most actual
information is in microhttpd.h file (and in source code, of course :) ).

If you want to use external poller with epoll, you should use
MHD_USE_EPOLL_LINUX_ONLY/MHD_USE_EPOLL and do NOT specify
MHD_USE_SELECT_INTERNALLY/MHD_USE_INTERNAL_POLLING_THREAD.

Then you could use MHD_DAEMON_INFO_EPOLL_FD with MHD_get_daemon_info()
or MHD_get_fdset(). MHD_get_fdset() will fill fdsets with single epoll
fd. Epoll fd itself is select()-able, poll()-able and epollable.


-- 
Best Wishes,
Evgeny Grin

On 14.03.2017 15:54, Vitaliy T wrote:
> I am sorry, I have forgot to export LD_LIBRARY_PATH and latest tests shows
> that the error occurs only under MHD 0.9.50.
> 
> Under MHD 0.9.52 (git/master), MHD_get_fdset() returns MHD_NO as expected.
> 
> I also re-read the "The GNU microhttpd Reference Manual" and its says
> that for creating an external epoll you have to use
> 
>   MHD_DaemonInfo(daemon, MHD_DAEMON_INFO_EPOLL_FD[_LINUX_ONLY], ...)
> 
> This information differs from notes for MHD_run() in the microhttpd.h file.
> There is no any information about epoll at all. I suppose the notes should be
> expanded further to point a developer to look on MHD_DaemonInfo ()
> if one plans to implement an external epoll poller.
> 
> Thanks!
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to