On 14 March 2017 at 23:21, Evgeny Grin <k...@yandex.ru> 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