Could someone make sure that the proposed patch gets applied to 1.9?
https://bugzilla.novell.com/show_bug.cgi?id=358987
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
socket.
PLEASE add this fix to 1.9. Thanks.
- Steve
---------------------------------
Steve G. Bjorg
MindTouch
555 W. Beech St.
Suite 501
San Diego, CA 92101
619.795.8459x1106 office
619.795.3948 fax
425.891.5913 mobile
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list