summaryrefslogtreecommitdiff
path: root/CSharp/Ivy/IvyPPC/IvyClient.cs
diff options
context:
space:
mode:
Diffstat (limited to 'CSharp/Ivy/IvyPPC/IvyClient.cs')
-rw-r--r--CSharp/Ivy/IvyPPC/IvyClient.cs15
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)