View Issue Details

IDProjectCategoryView StatusLast Update
0001289libmicrohttpdotherpublic2007-12-05 22:27
Reporterjimstudt Assigned ToChristian Grothoff  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version0.1.1 
Summary0001289: Broken connections cause SIGPIPE killing host application.
DescriptionWhen a client aborts a connection it causes an EPIPE on a send() call but also raises a SIGPIPE unless you use the MSG_NOPIPE flag in the send() call. libmicrohttpd does not have this flag set so the SIGPIPE rises up through the unsuspecting application and kills it.

There are many causes of broken connections, but I noticed it from the Safari browser.
You can cause this to happen by making a response that takes a half second or so to respond, accessing it from Safari, and clicking the 'reload' button very quickly.
Additional InformationPerhaps on any platform that defines MSG_NOPIPE you should use it in the flags.
I suspect this can also happen in the receive, but that would be tricky to make a test case.
TagsNo tags attached.

Activities

Christian Grothoff

2007-11-17 00:56

manager   ~0003198

Fixed in SVN 5732 (at least for Linux/OS X and modern BSD).

Issue History

Date Modified Username Field Change
2007-11-16 12:36 jimstudt New Issue
2007-11-17 00:55 Christian Grothoff Status new => assigned
2007-11-17 00:55 Christian Grothoff Assigned To => Christian Grothoff
2007-11-17 00:56 Christian Grothoff Status assigned => resolved
2007-11-17 00:56 Christian Grothoff Resolution open => fixed
2007-11-17 00:56 Christian Grothoff Note Added: 0003198
2007-12-05 22:27 Christian Grothoff Status resolved => closed