diff options
Diffstat (limited to 'CSharp')
-rw-r--r-- | CSharp/Ivy/IvyPPC/IvyClient.cs | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/CSharp/Ivy/IvyPPC/IvyClient.cs b/CSharp/Ivy/IvyPPC/IvyClient.cs index 82e29bb..84f93e8 100644 --- a/CSharp/Ivy/IvyPPC/IvyClient.cs +++ b/CSharp/Ivy/IvyPPC/IvyClient.cs @@ -257,7 +257,7 @@ namespace IvyBus running = false;
if ( stream != null )
stream.Close();
- if ( Thread.CurrentThread != clientThread )
+ if (Thread.CurrentThread != clientThread && clientThread != null)
{
// Wait for Thread to end.
clientThread.Join();
@@ -446,9 +446,16 @@ namespace IvyBus {
lock( bindings )
{
- IvyBindingBase bind = (IvyBindingBase) bindings[id];
- bus.FireClientRemoveBinding( this, bind.expression );
- bindings.Remove(id);
+ try
+ {
+ IvyBindingBase bind = (IvyBindingBase)bindings[id];
+ bus.FireClientRemoveBinding(this, bind.expression);
+ bindings.Remove(id);
+ }
+ catch (KeyNotFoundException ex)
+ {
+ Console.WriteLine("DelBinding " + ex.Message);
+ }
}
}
public void TokenMsg(ushort id, string[] arg)
|