diff options
-rw-r--r-- | CHANGELOG-3.6.md | 12 | ||||
-rw-r--r-- | csharp/src/Ice/ConnectionI.cs | 1 | ||||
-rw-r--r-- | csharp/src/Ice/StreamSocket.cs | 2 |
3 files changed, 13 insertions, 2 deletions
diff --git a/CHANGELOG-3.6.md b/CHANGELOG-3.6.md index cde834809d6..8e8f3b4ed7e 100644 --- a/CHANGELOG-3.6.md +++ b/CHANGELOG-3.6.md @@ -32,7 +32,14 @@ These are the changes since Ice 3.6.1. ## C++ Changes -- Fixed El Capitan build issues caused by a new security feature that no longer exports DYLD_LIBRARY_PATH to child processes. +- Fixed El Capitan build issues caused by a new security feature that no longer + exports DYLD_LIBRARY_PATH to child processes. + +## C# Changes + +- Minor fixes to release the memory used by the transports to send and receive + data sooner. This garbage collector can therefore collect this memory sooner + as well. # Changes in Ice 3.6.1 @@ -42,7 +49,8 @@ These are the changes since Ice 3.6.0. - Fixed IceStorm performance issue when creating a large number of topics. -- Added support for Visual Studio 2015 and Universal Windows Platform (UWP) apps. +- Added support for Visual Studio 2015 and Universal Windows Platform (UWP) + apps. - Connection and transport buffers are now released when the connection is closed rather than waiting for the collection or destruction of the Ice diff --git a/csharp/src/Ice/ConnectionI.cs b/csharp/src/Ice/ConnectionI.cs index 56efa21ec1a..e8d355a08a1 100644 --- a/csharp/src/Ice/ConnectionI.cs +++ b/csharp/src/Ice/ConnectionI.cs @@ -1451,6 +1451,7 @@ namespace Ice _writeStream.getBuffer().clear(); _readStream.clear(); _readStream.getBuffer().clear(); + _incomingCache = null; if(_callback != null) { diff --git a/csharp/src/Ice/StreamSocket.cs b/csharp/src/Ice/StreamSocket.cs index d492caeef8d..0e427413c73 100644 --- a/csharp/src/Ice/StreamSocket.cs +++ b/csharp/src/Ice/StreamSocket.cs @@ -231,6 +231,7 @@ namespace IceInternal throw new SocketException((int)_readEventArgs.SocketError); } int ret = _readEventArgs.BytesTransferred; + _readEventArgs.SetBuffer(null, 0, 0); #else int ret = _fd.EndReceive(_readResult); _readResult = null; @@ -355,6 +356,7 @@ namespace IceInternal throw new SocketException((int)_writeEventArgs.SocketError); } int ret = _writeEventArgs.BytesTransferred; + _writeEventArgs.SetBuffer(null, 0, 0); #else int ret = _fd.EndSend(_writeResult); _writeResult = null; |