From d1e802299dc2c082a6abd4b97ece53d66c88d7cc Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 28 Dec 2022 12:20:58 +0100 Subject: [PATCH] Fixed mail event thread exhaustion --- app/src/main/java/eu/faircode/email/EmailService.java | 7 ++----- app/src/main/java/javax/mail/EventQueue.java | 1 + 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/EmailService.java b/app/src/main/java/eu/faircode/email/EmailService.java index 8877857126..3b9363263d 100644 --- a/app/src/main/java/eu/faircode/email/EmailService.java +++ b/app/src/main/java/eu/faircode/email/EmailService.java @@ -128,9 +128,6 @@ public class EmailService implements AutoCloseable { final static int DEFAULT_CONNECT_TIMEOUT = 20; // seconds final static boolean SEPARATE_STORE_CONNECTION = false; - private static final ExecutorService executor = - Helper.getBackgroundExecutor(0, 4, 3, "mail"); - private final static int SEARCH_TIMEOUT = 90 * 1000; // milliseconds private final static int FETCH_SIZE = 1024 * 1024; // bytes, default 16K private final static int POOL_SIZE = 1; // connections @@ -207,8 +204,8 @@ public class EmailService implements AutoCloseable { " apop=" + auth_apop + " use_top=" + use_top); - properties.put("mail.event.scope", "folder"); - properties.put("mail.event.executor", executor); + //properties.put("mail.event.scope", "folder"); + //properties.put("mail.event.executor", executor); if (!auth_plain) properties.put("mail." + protocol + ".auth.plain.disable", "true"); diff --git a/app/src/main/java/javax/mail/EventQueue.java b/app/src/main/java/javax/mail/EventQueue.java index 6ecacd09a2..9510a5d0e8 100644 --- a/app/src/main/java/javax/mail/EventQueue.java +++ b/app/src/main/java/javax/mail/EventQueue.java @@ -89,6 +89,7 @@ class EventQueue implements Runnable { executor.execute(this); } else { Thread qThread = new Thread(this, "Jakarta-Mail-EventQueue"); + qThread.setPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND); qThread.setDaemon(true); // not a user thread qThread.start(); }