libmicrohttpd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libmicrohttpd] MHD_get_fdset throws "Illegal instruction" error


From: Evgeny Grin
Subject: Re: [libmicrohttpd] MHD_get_fdset throws "Illegal instruction" error
Date: Tue, 14 Mar 2017 17:55:38 +0300
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

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

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

[Prev in Thread] Current Thread [Next in Thread]