From 3aa4644339d11d419c8cad1f7c316e3d3e8fcc06 Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Thu, 6 Apr 2017 11:36:02 +0100
Subject: [PATCH] If we have multiple cores, leave one free from crypto tasks.

---
 .../main/java/org/briarproject/bramble/crypto/CryptoModule.java | 2 +-
 .../src/main/java/org/briarproject/bramble/sync/SyncModule.java | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoModule.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoModule.java
index bcad98cda7..8f0299441c 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoModule.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoModule.java
@@ -39,7 +39,7 @@ public class CryptoModule {
 	 * The maximum number of executor threads.
 	 */
 	private static final int MAX_EXECUTOR_THREADS =
-			Runtime.getRuntime().availableProcessors();
+			Math.max(1, Runtime.getRuntime().availableProcessors() - 1);
 
 	private final ExecutorService cryptoExecutor;
 
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/SyncModule.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/SyncModule.java
index d4cc88881f..eea0e2d3bb 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/sync/SyncModule.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/SyncModule.java
@@ -36,7 +36,7 @@ public class SyncModule {
 	 * executor concurrently.
 	 */
 	private static final int MAX_CONCURRENT_VALIDATION_TASKS =
-			Runtime.getRuntime().availableProcessors();
+			Math.max(1, Runtime.getRuntime().availableProcessors() - 1);
 
 	@Provides
 	GroupFactory provideGroupFactory(CryptoComponent crypto) {
-- 
GitLab