Browse Source

Work around for SD2-1485: Build worker occasionally hangs:

In parallel builds, don't use in-process build.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3890 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
3b35d6455e
  1. 10
      src/Main/Base/Project/Src/Project/MSBuildEngine.cs

10
src/Main/Base/Project/Src/Project/MSBuildEngine.cs

@ -158,6 +158,14 @@ namespace ICSharpCode.SharpDevelop.Project @@ -158,6 +158,14 @@ namespace ICSharpCode.SharpDevelop.Project
get { return interestingTasks; }
}
static bool AllowBuildInProcess {
get {
// don't build in-process if building in parallel.
// workaround for SD2-1485: Build worker occasionally hangs
return BuildOptions.DefaultParallelProjectCount == 1;
}
}
void StartBuild()
{
WorkerManager.ShowError = MessageService.ShowError;
@ -217,7 +225,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -217,7 +225,7 @@ namespace ICSharpCode.SharpDevelop.Project
job.Target = options.Target.TargetName;
bool buildInProcess = false;
if (Interlocked.CompareExchange(ref isBuildingInProcess, 1, 0) == 0) {
if (AllowBuildInProcess && Interlocked.CompareExchange(ref isBuildingInProcess, 1, 0) == 0) {
buildInProcess = true;
}
LoggingService.Info("Start job (buildInProcess=" + buildInProcess + "): " + job.ToString());

Loading…
Cancel
Save