diff options
author | Atsushi Eno <atsushieno@gmail.com> | 2010-01-22 11:18:19 +0300 |
---|---|---|
committer | Atsushi Eno <atsushieno@gmail.com> | 2010-01-22 11:18:19 +0300 |
commit | 79c79e577bda706d52286a4ca898d41069be7771 (patch) | |
tree | 2a211474d8033ff2e971ba1e021f5309f4994a44 /mcs | |
parent | eb13491be618426d52f0bbfed47d5e8ad00a9890 (diff) |
2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
* DuplexClientRuntimeChannel.cs : do not try to iterate channel
acceptor when it is being closed.
* ChannelDispatcher.cs : do not try to iterate channel acceptor when
it is being closed.
svn path=/trunk/mcs/; revision=150047
Diffstat (limited to 'mcs')
4 files changed, 13 insertions, 3 deletions
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog b/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog index 5781898ebe6..7481770a648 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog @@ -1,3 +1,8 @@ +2010-01-22 Atsushi Enomoto <atsushi@ximian.com> + + * ChannelDispatcher.cs : do not try to iterate channel acceptor when + it is being closed. + 2010-01-19 Atsushi Enomoto <atsushi@ximian.com> * ChannelDispatcher.cs : another error audit. diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs index 2f1bf004269..9c2c0221813 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs @@ -594,7 +594,7 @@ namespace System.ServiceModel.Dispatcher 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 (reply.State != CommunicationState.Closed) + if (loop && reply.State != CommunicationState.Closed) ProcessRequestOrInput (reply); } } @@ -612,7 +612,7 @@ namespace System.ServiceModel.Dispatcher Console.WriteLine (ex); } finally { // unless it is closed by session/call manager, move it back to the loop to receive the next message. - if (input.State != CommunicationState.Closed) + if (loop && input.State != CommunicationState.Closed) ProcessRequestOrInput (input); } } diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/ChangeLog b/mcs/class/System.ServiceModel/System.ServiceModel/ChangeLog index bf940134630..1969b60f558 100755 --- a/mcs/class/System.ServiceModel/System.ServiceModel/ChangeLog +++ b/mcs/class/System.ServiceModel/System.ServiceModel/ChangeLog @@ -1,3 +1,8 @@ +2010-01-22 Atsushi Enomoto <atsushi@ximian.com> + + * DuplexClientRuntimeChannel.cs : do not try to iterate channel + acceptor when it is being closed. + 2010-01-20 Atsushi Enomoto <atsushi@ximian.com> * ServiceHostBase.cs : a stability workaround to make nunit test diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/DuplexClientRuntimeChannel.cs b/mcs/class/System.ServiceModel/System.ServiceModel/DuplexClientRuntimeChannel.cs index ef8f8004725..43d6e2168ec 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel/DuplexClientRuntimeChannel.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel/DuplexClientRuntimeChannel.cs @@ -164,7 +164,7 @@ namespace System.ServiceModel Console.WriteLine (ex); } finally { // unless it is closed by session/call manager, move it back to the loop to receive the next message. - if (input.State != CommunicationState.Closed) + if (loop && input.State != CommunicationState.Closed) ProcessRequestOrInput (input); } } |