Skip to content

Commit 6e2c805

Browse files
author
Jörg Kubitz
committed
Do not suspend JobManager during startup
Because of possible deadlock when Javaeditor from JDT calls PDE calls OOMPH calls P2 to download new target platform waiting for a Job that is not executed because JobManager is suspendend eclipse-pde/eclipse.pde#1481 Was already suggested in https://bugs.eclipse.org/bugs/show_bug.cgi?id=514090
1 parent b3aa5b0 commit 6e2c805

File tree

2 files changed

+0
-13
lines changed

2 files changed

+0
-13
lines changed

bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEApplication.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import org.eclipse.core.runtime.Platform;
4444
import org.eclipse.core.runtime.Status;
4545
import org.eclipse.core.runtime.URIUtil;
46-
import org.eclipse.core.runtime.jobs.Job;
4746
import org.eclipse.core.runtime.preferences.ConfigurationScope;
4847
import org.eclipse.equinox.app.IApplication;
4948
import org.eclipse.equinox.app.IApplicationContext;
@@ -142,12 +141,6 @@ public IDEApplication() {
142141

143142
@Override
144143
public Object start(IApplicationContext appContext) throws Exception {
145-
// Suspend the job manager to prevent background jobs from running. This
146-
// is done to reduce resource contention during startup.
147-
// The job manager will be resumed by the
148-
// IDEWorkbenchAdvisor.postStartup method.
149-
Job.getJobManager().suspend();
150-
151144
Display display = createDisplay();
152145
// processor must be created before we start event loop
153146
DelayedEventsProcessor processor = new DelayedEventsProcessor(display);

bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEWorkbenchAdvisor.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,6 @@ public void preStartup() {
273273

274274
@Override
275275
public void postStartup() {
276-
try {
277276
refreshFromLocal();
278277
activateProxyService();
279278
((Workbench) PlatformUI.getWorkbench()).registerService(
@@ -283,11 +282,6 @@ public void postStartup() {
283282
initializeSettingsChangeListener();
284283
Display.getCurrent().addListener(SWT.Settings,
285284
settingsChangeListener);
286-
} finally {
287-
// Resume the job manager to allow background jobs to run.
288-
// The job manager was suspended by the IDEApplication.start method.
289-
Job.getJobManager().resume();
290-
}
291285
}
292286

293287
/**

0 commit comments

Comments
 (0)