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: Vitaliy T
Subject: Re: [libmicrohttpd] MHD_get_fdset throws "Illegal instruction" error
Date: Wed, 15 Mar 2017 08:33:24 +0300

On 14 March 2017 at 23:21, Evgeny Grin <address@hidden> wrote:
> Why do you start from resuming connection?

Because I had suspended it previously via MHD_suspend_connection().

> MHD_get_fdset() may return MHD_NO if epoll FD is too high to fit fd_set
> or if MHD_get_fdset() erroneously called for daemon with
> MHD_USE_THREAD_PER_CONNECTION option.

I am starting the MHD daemon in mode:
  MHD_USE_EPOLL_LINUX_ONLY | MHD_USE_SUSPEND_RESUME

I don't see that epoll FD is too high:

$ ls -l /proc/3370/fd
total 0
lrwx------ 1 xxx users 64 Mar 15 08:13 0 -> /dev/pts/1
lrwx------ 1 xxx users 64 Mar 15 08:13 1 -> /dev/pts/1
lrwx------ 1 xxx users 64 Mar 15 08:13 2 -> /dev/pts/1
lr-x------ 1 xxx users 64 Mar 15 08:13 3 -> /dev/urandom
lr-x------ 1 xxx users 64 Mar 15 08:13 4 -> pipe:[2379]
l-wx------ 1 xxx users 64 Mar 15 08:13 5 -> pipe:[2379]
lrwx------ 1 xxx users 64 Mar 15 08:13 6 -> socket:[2380]
lr-x------ 1 xxx users 64 Mar 15 08:13 7 -> pipe:[2381]
l-wx------ 1 xxx users 64 Mar 15 08:13 8 -> pipe:[2381]
lrwx------ 1 xxx users 64 Mar 15 08:13 9 -> anon_inode:[eventpoll]


> While exploring MHD abilities, I recommend to use MHD_USE_DEBUG options.

MHD prints out no useful information at all either I don't know how to
use this option
properly. I just run the daemon in mode:
MHD_USE_EPOLL_LINUX_ONLY | MHD_USE_SUSPEND_RESUME | MHD_USE_DEBUG

The errno after calling MHD_get_fdset() is set to EBUSY:
  Resource temporarily unavailable

Ok, I will try to investigate the question further.

Thanks!

-- 
With Best Regards,
Vitaliy V. Tokarev



reply via email to

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