diff --git a/ide_plugins/vs/vs2012/CoatiPlugin/CoatiPlugin.v11.suo b/ide_plugins/vs/vs2012/CoatiPlugin/CoatiPlugin.v11.suo index 8c2b5d3a..adb8d25f 100644 Binary files a/ide_plugins/vs/vs2012/CoatiPlugin/CoatiPlugin.v11.suo and b/ide_plugins/vs/vs2012/CoatiPlugin/CoatiPlugin.v11.suo differ diff --git a/ide_plugins/vs/vs2012/CoatiPlugin/CoatiPlugin/NetworkUtility.cs b/ide_plugins/vs/vs2012/CoatiPlugin/CoatiPlugin/NetworkUtility.cs index af31b1d7..c80f2f3e 100644 --- a/ide_plugins/vs/vs2012/CoatiPlugin/CoatiPlugin/NetworkUtility.cs +++ b/ide_plugins/vs/vs2012/CoatiPlugin/CoatiPlugin/NetworkUtility.cs @@ -157,9 +157,12 @@ namespace CoatiSoftware.CoatiPlugin Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IAsyncResult ar = client.BeginConnect(remoteEP, new AsyncCallback(ConnectCallback), client); - if (!connectDone.WaitOne(1000)) + if (!connectDone.WaitOne(2000)) { client.EndConnect(ar); + client.Shutdown(SocketShutdown.Both); + client.Close(); + return; } Send(client, message); @@ -214,7 +217,15 @@ namespace CoatiSoftware.CoatiPlugin { if (_onErrorCallback != null) { - _onErrorCallback(e.ToString()); + if (e is ObjectDisposedException) + { + // get this exception every once in a while + // doesn't seem to do much, no idea yet why it's there to begin with + } + else + { + _onErrorCallback(e.ToString()); + } } } }