summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG-3.6.md12
-rw-r--r--csharp/src/Ice/ConnectionI.cs1
-rw-r--r--csharp/src/Ice/StreamSocket.cs2
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;