From 5ab557ad52d1502dd58537ace9e4d4abd3c46095 Mon Sep 17 00:00:00 2001
From: Patrick Sharp <psharp.x13@gmail.com>
Date: Thu, 18 Aug 2016 20:04:55 -0600
Subject: [PATCH] Fixed dispose in KernelRunner.java

dispose() disposes of the jniContextHandle, however the seenBinaryKeys still reported that the handle is still available. This resulted in a kernel being unable to recompile after any of it's predecessors have been disposed. Clearing this set fixes this issue.
---
 .../src/java/com/amd/aparapi/internal/kernel/KernelRunner.java   | 1 +
 1 file changed, 1 insertion(+)

diff --git a/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelRunner.java b/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelRunner.java
index 9bb09c29..d99809e9 100644
--- a/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelRunner.java
+++ b/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelRunner.java
@@ -190,6 +190,7 @@ public class KernelRunner extends KernelRunnerJNI{
    public synchronized void dispose() {
       if (kernel.isRunningCL()) {
          disposeJNI(jniContextHandle);
+         seenBinaryKeys.clear();
       }
       // We are using a shared pool, so there's no need no shutdown it when kernel is disposed
       //      threadPool.shutdownNow();
-- 
GitLab