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

---
 .../java/com/aparapi/internal/kernel/KernelProfile.java    | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/aparapi/internal/kernel/KernelProfile.java b/src/main/java/com/aparapi/internal/kernel/KernelProfile.java
index 77d1d669..933b3f2b 100644
--- a/src/main/java/com/aparapi/internal/kernel/KernelProfile.java
+++ b/src/main/java/com/aparapi/internal/kernel/KernelProfile.java
@@ -75,9 +75,12 @@ public class KernelProfile {
     */
    void onStart(Device device) {
 	  KernelDeviceProfile currentDeviceProfile = deviceProfiles.get(device);
-      if (currentDeviceProfile == null) {
+      if (currentDeviceProfile == null) {    	 
          currentDeviceProfile = new KernelDeviceProfile(this, kernelClass, device);
-         deviceProfiles.put(device, currentDeviceProfile);
+         KernelDeviceProfile existingProfile = deviceProfiles.putIfAbsent(device, currentDeviceProfile);
+         if (existingProfile != null) {
+        	 currentDeviceProfile = existingProfile;
+         }
       }
       
       currentDeviceProfile.onEvent(ProfilingEvent.START);
-- 
GitLab