RE: DuplexHandle finalizer fix missing...

I have also noticed the fix for DuplexHandle finalizers is not in this release, I believe the finalizer should be attached to the write side (which is pointed to by the read side) but its still attached to the read side as in previous versions... Once again this is a critical fix, as otherwise applications keep one half of the connection open until they quit, or crash due to lack of resources.
Darn! That fix is sitting in my tree uncommitted because I never got around to testing it properly. Sigh, I think I need a holiday :-( /me wanders off looking a bit sheepish. Cheers, Simon

Well if its any help, I have now done extensive testing on a server that opens connections using connectTo, and hGetContents - and without these two fixes, it dies, with them it seems rock solid (ie make connection, randomly break connection - repeat for several hours, examine sockets on server and there are no hanging sockets.) Without the finalizer fix there will be lots of CLOSE_WAIT write handles, without the connectTo exception-handler you get the odd socket of unknown type hanging about ... I have added the fixes by hand to a source copy of 5.04.3 on the assumption that they will (hopefully) make it into the next rev. Keean Schupke Simon Marlow wrote:
I have also noticed the fix for DuplexHandle finalizers is not in this release, I believe the finalizer should be attached to the write side (which is pointed to by the read side) but its still attached to the read side as in previous versions... Once again this is a critical fix, as otherwise applications keep one half of the connection open until they quit, or crash due to lack of resources.
Darn! That fix is sitting in my tree uncommitted because I never got around to testing it properly. Sigh, I think I need a holiday :-(
/me wanders off looking a bit sheepish.
Cheers, Simon
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (2)
-
Keean Schupke
-
Simon Marlow