diff options
2 files changed, 4 insertions, 6 deletions
diff --git a/bundles/org.eclipse.equinox.log.stream/src/org/eclipse/equinox/internal/log/stream/LogStreamProviderFactory.java b/bundles/org.eclipse.equinox.log.stream/src/org/eclipse/equinox/internal/log/stream/LogStreamProviderFactory.java index 058207158..c75a6e445 100644 --- a/bundles/org.eclipse.equinox.log.stream/src/org/eclipse/equinox/internal/log/stream/LogStreamProviderFactory.java +++ b/bundles/org.eclipse.equinox.log.stream/src/org/eclipse/equinox/internal/log/stream/LogStreamProviderFactory.java @@ -31,13 +31,11 @@ public class LogStreamProviderFactory implements ServiceFactory<LogStreamProvide ReentrantReadWriteLock eventProducerLock = new ReentrantReadWriteLock(); ServiceTracker<LogReaderService, AtomicReference<LogReaderService>> logReaderService; - /* - * ExecutorService is used to provide parallelism of one by making sure only one thread is used for the executor - */ - private final ExecutorService executor = Executors.newSingleThreadExecutor(new ThreadFactory() { + private final int cores = Runtime.getRuntime().availableProcessors(); + private final ExecutorService executor = Executors.newFixedThreadPool(cores - 1, new ThreadFactory() { @Override public Thread newThread(Runnable r) { - return new Thread(r, "LogStream thread"); + return new Thread(r, "LogStream thread"); //$NON-NLS-1$ } }); diff --git a/bundles/org.eclipse.equinox.log.stream/src/org/eclipse/equinox/internal/log/stream/LogStreamProviderImpl.java b/bundles/org.eclipse.equinox.log.stream/src/org/eclipse/equinox/internal/log/stream/LogStreamProviderImpl.java index 94d93721d..0706ef1b9 100644 --- a/bundles/org.eclipse.equinox.log.stream/src/org/eclipse/equinox/internal/log/stream/LogStreamProviderImpl.java +++ b/bundles/org.eclipse.equinox.log.stream/src/org/eclipse/equinox/internal/log/stream/LogStreamProviderImpl.java @@ -69,7 +69,7 @@ public class LogStreamProviderImpl implements LogStreamProvider { PushStreamBuilder<LogEntry, BlockingQueue<PushEvent<? extends LogEntry>>> streamBuilder = pushStreamProvider.buildStream(logEntrySource); //creating a buffered push stream LinkedBlockingQueue<PushEvent<? extends LogEntry>> historyQueue = new LinkedBlockingQueue<>(); - PushStream<LogEntry> logStream = streamBuilder.withBuffer(historyQueue).withExecutor(executor).withQueuePolicy(QueuePolicyOption.DISCARD_OLDEST).build(); + PushStream<LogEntry> logStream = streamBuilder.withBuffer(historyQueue).withExecutor(executor).withParallelism(1).withQueuePolicy(QueuePolicyOption.DISCARD_OLDEST).build(); logEntrySource.setLogStream(logStream); // Adding to sources makes the source start listening for new entries logEntrySources.add(logEntrySource); |