diff --git a/runtime/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobListeners.java b/runtime/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobListeners.java index afb80afe5e7..0290791d2f2 100644 --- a/runtime/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobListeners.java +++ b/runtime/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobListeners.java @@ -61,7 +61,7 @@ void waitAndSendEvents(InternalJob job, boolean shouldSend) { boolean send = shouldSend || job.eventQueueLock.isHeldByCurrentThread(); // Synchronize eventQueue to get a stable order of events across Threads. // There is however no guarantee in which Thread the event is delivered. - while (!job.eventQueue.isEmpty()) { + while (true) { if (getJobListenerTimeout() == 0) { // backward compatibility mode for listeners that may deadlock if (send) {