[Mono-dev] fix for bug #358987 in 1.9?

Steve Bjorg steveb at mindtouch.com
Wed Feb 20 09:48:03 EST 2008

Could someone make sure that the proposed patch gets applied to 1.9?

Since applying it to our server (1.2.6), we've seen uptime for 12  
days compared to less than 24 hrs before.

The fix is merely to put a try...catch around the statement that  
closes the sockets even when shutdown fails (which it does when only  
1 side of the socket is closed as in an abandoned connection).   
Failing to close the socket causes a leak and eventually kills the  
process as it runs out of file handles.

Index: HttpConnection.cs
--- HttpConnection.cs	(revision 94904)
+++ HttpConnection.cs	(working copy)
@@ -313,7 +313,11 @@

  				Socket s = sock;
  				sock = null;
-				s.Shutdown (SocketShutdown.Both);
+				try {
+					s.Shutdown (SocketShutdown.Both);
+				} catch(Exception e) {
+					// log here?
+				}
  				s.Close ();
  				if (context_bound)
  					epl.UnbindContext (context);

The pushback has been that this problem should be solved upstream,  
but this is a SAFE fix.  Regardless of the implementation of Shutdown 
(), Close() MUST be called to release resources associated with the  

PLEASE add this fix to 1.9.  Thanks.

- Steve

Steve G. Bjorg

555 W. Beech St.
Suite 501
San Diego, CA 92101

619.795.8459x1106 office
619.795.3948 fax
425.891.5913 mobile

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20080220/077a2b0e/attachment-0001.html 

More information about the Mono-devel-list mailing list