From fef916991b5683551558f843614cad1c3be6fe26 Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Tue, 20 Mar 2018 17:41:30 +0000
Subject: [PATCH] Discard tasks submitted during shutdown.

---
 .../org/briarproject/bramble/system/SystemModule.java     | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/bramble-core/src/main/java/org/briarproject/bramble/system/SystemModule.java b/bramble-core/src/main/java/org/briarproject/bramble/system/SystemModule.java
index a052b4d54c..0ec831f853 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/system/SystemModule.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/system/SystemModule.java
@@ -4,8 +4,9 @@ import org.briarproject.bramble.api.lifecycle.LifecycleManager;
 import org.briarproject.bramble.api.system.Clock;
 import org.briarproject.bramble.api.system.Scheduler;
 
-import java.util.concurrent.Executors;
+import java.util.concurrent.RejectedExecutionHandler;
 import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
 
 import javax.inject.Inject;
 import javax.inject.Singleton;
@@ -25,7 +26,10 @@ public class SystemModule {
 	private final ScheduledExecutorService scheduler;
 
 	public SystemModule() {
-		scheduler = Executors.newSingleThreadScheduledExecutor();
+		// Discard tasks that are submitted during shutdown
+		RejectedExecutionHandler policy =
+				new ScheduledThreadPoolExecutor.DiscardPolicy();
+		scheduler = new ScheduledThreadPoolExecutor(1, policy);
 	}
 
 	@Provides
-- 
GitLab