From 3edba5b43b910dcb2204cb7042f100c18a7a9432 Mon Sep 17 00:00:00 2001
From: CoreRasurae <luis.p.mendes@gmail.com>
Date: Mon, 23 Apr 2018 23:54:34 +0100
Subject: [PATCH] Update: Enable kernel profiling and execution simultaneously
 on multiple devices - part2,fix1

---
 .../java/com/aparapi/internal/kernel/KernelPreferences.java | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/aparapi/internal/kernel/KernelPreferences.java b/src/main/java/com/aparapi/internal/kernel/KernelPreferences.java
index d8cc685d..28f307dc 100644
--- a/src/main/java/com/aparapi/internal/kernel/KernelPreferences.java
+++ b/src/main/java/com/aparapi/internal/kernel/KernelPreferences.java
@@ -84,10 +84,12 @@ public class KernelPreferences {
    }
 
    private void maybeSetUpDefaultPreferredDevices() {
-	   preferredDevices.compareAndSet(null, new LinkedList<>(manager.getDefaultPreferences().getPreferredDevices(null)));
+	   if (preferredDevices.get() == null) {
+		   preferredDevices.compareAndSet(null, new LinkedList<>(manager.getDefaultPreferences().getPreferredDevices(null)));
+	   }
    }
 
-   public List<Device> getFailedDevices() {
+   public synchronized List<Device> getFailedDevices() {
       return new ArrayList<>(failedDevices);
    }
 }
-- 
GitLab