From 7c39e5c974310760e1618639226b434674cc2ea8 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 16 Nov 2014 14:57:54 -0800 Subject: [PATCH] Fix a race condition --- .../com/limelight/computers/ComputerManagerService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/limelight/computers/ComputerManagerService.java b/app/src/main/java/com/limelight/computers/ComputerManagerService.java index 11049d1d..227a9f67 100644 --- a/app/src/main/java/com/limelight/computers/ComputerManagerService.java +++ b/app/src/main/java/com/limelight/computers/ComputerManagerService.java @@ -109,8 +109,11 @@ public class ComputerManagerService extends Service { if (runPoll(details) && !originalDetails.equals(details)) { // Replace our thread entry with the new one synchronized (pollingThreads) { - pollingThreads.remove(originalDetails); - pollingThreads.put(details, this); + if (pollingThreads.remove(originalDetails) != null) { + // This could have gone away in the meantime, so don't + // add it back if it has + pollingThreads.put(details, this); + } } }