Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@xamarin.com>2015-09-16 21:29:09 +0300
committerLluis Sanchez <lluis@xamarin.com>2015-09-16 21:29:09 +0300
commit68199978ce3cdd1a98a1903da32f9093ff4abc6c (patch)
tree78b689ea90faa5dc1ddea830eea4ff23129291cc /main
parentad71d5ceaeb5bb2ab4b34dce9574f2cff10f6c11 (diff)
[Core] Fix project builder issue
Use the IPC remoting channel instead of TCP. The TCP channel seems to randomly fail when there are many concurrent calls.
Diffstat (limited to 'main')
-rw-r--r--main/src/core/MonoDevelop.Projects.Formats.MSBuild/Main.cs12
1 files changed, 9 insertions, 3 deletions
diff --git a/main/src/core/MonoDevelop.Projects.Formats.MSBuild/Main.cs b/main/src/core/MonoDevelop.Projects.Formats.MSBuild/Main.cs
index 7436777040..617b966cdb 100644
--- a/main/src/core/MonoDevelop.Projects.Formats.MSBuild/Main.cs
+++ b/main/src/core/MonoDevelop.Projects.Formats.MSBuild/Main.cs
@@ -30,6 +30,7 @@ using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
+using System.Runtime.Remoting.Channels.Ipc;
using System.Threading;
using System.Diagnostics;
@@ -68,10 +69,15 @@ namespace MonoDevelop.Projects.Formats.MSBuild
IDictionary dict = new Hashtable ();
var clientProvider = new BinaryClientFormatterSinkProvider();
var serverProvider = new BinaryServerFormatterSinkProvider();
- dict ["port"] = 0;
- dict ["rejectRemoteRequests"] = true;
serverProvider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
- ChannelServices.RegisterChannel (new TcpChannel (dict, clientProvider, serverProvider), false);
+
+ /* dict ["port"] = 0;
+ dict ["rejectRemoteRequests"] = true;
+ ChannelServices.RegisterChannel (new TcpChannel (dict, clientProvider, serverProvider), false);*/
+
+ // Use the IpcChannel for now, since seems to be failing when there are many concurrent calls
+ dict ["portName"] = Guid.NewGuid ().ToString ();
+ ChannelServices.RegisterChannel (new IpcChannel (dict, clientProvider, serverProvider), false);
}
public static void WatchProcess (string procId)