View Issue Details

IDProjectCategoryView StatusLast Update
0005463libmicrohttpdlibmicrohttpd multi-threaded operationpublic2018-11-06 19:46
ReporterDaniel BujnikAssigned ToChristian Grothoff 
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 08:10

reporter   ~0013297

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

Christian Grothoff

2018-10-29 20: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 Modified Username Field Change
2018-10-29 08:06 Daniel Bujnik New Issue
2018-10-29 08:10 Daniel Bujnik Note Added: 0013297
2018-10-29 20:39 Christian Grothoff Note Added: 0013298
2018-10-29 20:39 Christian Grothoff Status new => feedback
2018-10-29 20:39 Christian Grothoff Assigned To => Christian Grothoff
2018-10-29 20:39 Christian Grothoff Status feedback => assigned
2018-10-29 20:39 Christian Grothoff Target Version => 0.9.60
2018-11-01 15:21 Christian Grothoff Status assigned => resolved
2018-11-01 15:21 Christian Grothoff Resolution open => fixed
2018-11-01 15:21 Christian Grothoff Fixed in Version => 0.9.60
2018-11-06 19:46 Christian Grothoff Status resolved => closed