Bug 451797 - [platform] UI freezes in
IOConsolePartitioner$TrimJob.runInUIThread

Reverting the main part of the change from bug 108568 commit
8b377c8203a4054eebd2bb3740bf40296b63d3d8.

Change-Id: I306f6d66de31d1787e40b8da0dda60fa66986c6a
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
index d445277..3289b75 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
@@ -31,7 +31,7 @@
 
 public class ConsolePatternMatcher implements IDocumentListener {
 
-    private MatchJob fMatchJob = new MatchJob();
+	private MatchJob fMatchJob;
 
     /**
      * Collection of compiled pattern match listeners
@@ -46,12 +46,14 @@
 
     public ConsolePatternMatcher(TextConsole console) {
         fConsole = console;
+		fMatchJob = new MatchJob();
     }
 
     private class MatchJob extends Job {
         MatchJob() {
             super("Match Job"); //$NON-NLS-1$
             setSystem(true);
+			setRule(fConsole.getSchedulingRule());
         }
 
         /*
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
index 6f32def..b02fe4f 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
@@ -17,9 +17,7 @@
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobManager;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.DocumentEvent;
@@ -627,14 +625,6 @@
          */
         @Override
 		public IStatus runInUIThread(IProgressMonitor monitor) {
-            IJobManager jobManager = Job.getJobManager();
-            try {
-                jobManager.join(console, monitor);
-            } catch (OperationCanceledException e1) {
-                return Status.CANCEL_STATUS;
-            } catch (InterruptedException e1) {
-                return Status.CANCEL_STATUS;
-            }
         	if (document == null) {
         		return Status.OK_STATUS;
         	}