diff options
author | Paul Fertser <fercerpav@gmail.com> | 2018-05-31 14:27:30 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2018-06-01 18:38:04 +0300 |
commit | 62c0db64579b424fcd7b4de7fc8ec070643cc48d (patch) | |
tree | 3bab6a39a530ee5b74ade8349af2c6228f57baa1 /mcs/class/System.ServiceModel | |
parent | 72471b5325a52def162c23804bc38c20070c48ee (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.cs | 5 |
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 } } |