mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-25 04:09:31 +03:00
I'm trying to use libmicrohttpd on a platform where fcntl(fd, O_NONBLOCK)
doesn't work for sockets. This shouldn't be a problem, as far as I understand, except in epoll mode, which I'm not using, because epoll() isn't available either. However, there is a check in daemon.c:internal_add_connection(), the purpose of which seems to be to prevent using a blocking socket in epoll mode. At least that's what the debug message says. The code however does the opposite, it prevents the use of a blocking socket if epoll mode is *not* used. This was probably never noticed because platforms without non-blocking sockets are rare. Please consider applying the following simple fix:
This commit is contained in:
@@ -2985,7 +2985,7 @@ internal_add_connection (struct MHD_Daemon *daemon,
|
||||
return MHD_NO;
|
||||
}
|
||||
|
||||
if ( (0 == (daemon->options & MHD_USE_EPOLL)) &&
|
||||
if ( (0 != (daemon->options & MHD_USE_EPOLL)) &&
|
||||
(! non_blck) )
|
||||
{
|
||||
#ifdef HAVE_MESSAGES
|
||||
|
||||
Reference in New Issue
Block a user