View Issue Details

IDProjectCategoryView StatusLast Update
0005463libmicrohttpdthread poolpublic2018-11-06 18:46
ReporterDaniel Bujnik Assigned ToChristian Grothoff Due Date
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.59 
Target Version0.9.60Fixed in Version0.9.60 
Summary0005463: TCP connection callbacks - problem
DescriptionI am using libmicrohttpd with MHD_OPTION_NOTIFY_CONNECTION parameter to receive notifications for TCP connection opening/closing. Notifications for opening case are coming through as expected, however I am experiencing problems with closing case, where I am NOT getting the callback when my client terminates, though I can see client FIN packet in tcpdump on the server side and connection stops appearing in netstat.

Eventually the closing notification is being delivered by libmicrohttpd but that is just after a new TCP connection is opened. The sequence of callbacks I am seeing is as followed:

1) callback with MHD_CONNECTION_NOTIFY_STARTED - TCP connection A opened
2) callback with MHD_CONNECTION_NOTIFY_STARTED - new TCP connection B is opened
3) callback with MHD_CONNECTION_NOTIFY_CLOSED - TCP connection A closed

Of course I would expect nr 3 to come before nr 2. I am using nc to open/close sockets on client end.

TagsNo tags attached.

Activities

Daniel Bujnik

2018-10-29 07:10

reporter   ~0013297

Original mailing list post:
http://lists.gnu.org/archive/html/libmicrohttpd/2018-10/msg00013.html

Christian Grothoff

2018-10-29 19:39

manager   ~0013298

My first patch relied on MHD_USE_ITC, with 47281241..777d5e04 MHD now sets this flag internally automatically. So this should really work now (at least it does in my tests).

Issue History

Date ModifiedUsernameFieldChange
2018-10-29 07:06Daniel BujnikNew Issue
2018-10-29 07:10Daniel BujnikNote Added: 0013297
2018-10-29 19:39Christian GrothoffNote Added: 0013298
2018-10-29 19:39Christian GrothoffStatusnew => feedback
2018-10-29 19:39Christian GrothoffAssigned To => Christian Grothoff
2018-10-29 19:39Christian GrothoffStatusfeedback => assigned
2018-10-29 19:39Christian GrothoffTarget Version => 0.9.60
2018-11-01 14:21Christian GrothoffStatusassigned => resolved
2018-11-01 14:21Christian GrothoffResolutionopen => fixed
2018-11-01 14:21Christian GrothoffFixed in Version => 0.9.60
2018-11-06 18:46Christian GrothoffStatusresolved => closed
2024-01-21 12:25Christian GrothoffCategorylibmicrohttpd multi-threaded operation => thread pool