Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Fertser <fercerpav@gmail.com>2018-05-31 14:27:30 +0300
committerMarek Safar <marek.safar@gmail.com>2018-06-01 18:38:04 +0300
commit62c0db64579b424fcd7b4de7fc8ec070643cc48d (patch)
tree3bab6a39a530ee5b74ade8349af2c6228f57baa1 /mcs/class/System.ServiceModel
parent72471b5325a52def162c23804bc38c20070c48ee (diff)
[wcf] Fix memory leak processing requests
This partially reverts commit 1628f04de5c1026b23ec350486b1b3c45708b771 . Runtime tested and confirmed to fix issue #8970 and allows long-term operation of RapidSCADA.
Diffstat (limited to 'mcs/class/System.ServiceModel')
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs5
1 files changed, 2 insertions, 3 deletions
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs
index 61f00a93a40..fe877ef0bba 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs
@@ -626,9 +626,8 @@ namespace System.ServiceModel.Dispatcher
} finally {
if (rc != null)
rc.Close ();
- // unless it is closed by session/call manager, move it back to the loop to receive the next message.
- if (loop && reply.State != CommunicationState.Closed)
- ProcessRequestOrInput (reply);
+
+ reply.Close (owner.DefaultCloseTimeout); // close the channel
}
}