diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java index f1a8bbefdd4..009f7293d19 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java @@ -2446,7 +2446,13 @@ public class Builder extends HoldsOptions implements IBuilder, IMatchKeyProvider * The function never returns number smaller than 1. */ public int getOptimalParallelJobNum() { - return Runtime.getRuntime().availableProcessors(); + // Bug 398426: On my Mac running parallel builds at full tilt hangs the desktop. + // Need to pull it back one. + int j = Runtime.getRuntime().availableProcessors(); + if (j > 1 && Platform.getOS().equals(Platform.OS_MACOSX)) + return j - 1; + else + return j; } /** diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.properties b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.properties index 777f8e2e16c..4034c1c2f72 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.properties +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.properties @@ -32,7 +32,7 @@ BuilderSettingsTab_8=&Expand Env. Variable Refs in Makefiles BuilderSettingsTab_9=Build settings BuilderSettingsTab_10=Stop on first build error BuilderSettingsTab_EnableParallelBuild=Enable parallel build -BuilderSettingsTab_UseOptimalJobs=Use number of processors ({0}) +BuilderSettingsTab_UseOptimalJobs=Use optimal jobs ({0}) BuilderSettingsTab_UseParallelJobs=Use parallel jobs: BuilderSettingsTab_UseUnlimitedJobs=Use unlimited jobs BuilderSettingsTab_14=Workbench Build Behavior