View Issue Details

IDProjectCategoryView StatusLast Update
0003751libmicrohttpdinternal event looppublic2021-09-02 15:54
Reportermatt.holiday Assigned ToChristian Grothoff Due Date
PrioritynormalSeverityminorReproducibilityrandom
Status closedResolutionfixed 
OSLinux 
Product Version0.9.39 
Target Version0.9.40Fixed in Version0.9.40 
Summary0003751: check against FD_SETSIZE for control pipes ignores MHD_USE_EPOLL_LINUX_ONLY
DescriptionIn a couple places, checks against FD_SETSIZE are ignored if MHD_USE_POLL is set but don't take into account MHD_USE_EPOLL_LINUX_ONLY
Steps To ReproduceStartup with too many sockets in use in the same process; found in 0.9.32 but the code hasn't changed since then
Additional InformationShould be a trivial fix

In src/libmicrohttpd/daemon.c, look for the error string "file descriptor for worker control pipe exceeds maximum value"

3460c3460
< if ( (0 == (flags & MHD_USE_POLL)) &&
---
> if ( (0 == (flags & (MHD_USE_POLL | MHD_USE_EPOLL_LINUX_ONLY))) &&
3992c3992
< if ( (0 == (flags & MHD_USE_POLL)) &&
---
> if ( (0 == (flags & (MHD_USE_POLL | MHD_USE_EPOLL_LINUX_ONLY))) &&
TagsNo tags attached.

Activities

Christian Grothoff

2015-04-03 10:29

manager   ~0009063

Fixed as suggested in SVN 35492.

Christian Grothoff

2021-09-02 15:54

manager   ~0018200

Fix committed to master branch.

Issue History

Date ModifiedUsernameFieldChange
2015-04-02 17:44matt.holidayNew Issue
2015-04-03 10:24Christian GrothoffAssigned To => Christian Grothoff
2015-04-03 10:24Christian GrothoffStatusnew => assigned
2015-04-03 10:29Christian GrothoffNote Added: 0009063
2015-04-03 10:29Christian GrothoffStatusassigned => resolved
2015-04-03 10:29Christian GrothoffFixed in Version => 0.9.40
2015-04-03 10:29Christian GrothoffResolutionopen => fixed
2015-04-03 10:29Christian GrothoffTarget Version => 0.9.40
2015-04-06 22:43Christian GrothoffStatusresolved => closed
2021-09-02 15:54Christian Grothoff
2021-09-02 15:54Christian GrothoffNote Added: 0018200
2024-01-21 12:24Christian GrothoffCategorylibmicrohttpd internal select => internal event loop