diff options
author | Michael Bien <[email protected]> | 2011-06-19 22:31:05 +0200 |
---|---|---|
committer | Michael Bien <[email protected]> | 2011-06-19 22:31:05 +0200 |
commit | 826dacffbae941a35a7cc74515751ddb1d5711a2 (patch) | |
tree | 5cf5d5f67ceda1cbf136a6f30295f4ffa8c6c640 /src/com/jogamp/opencl/util/CLMultiContext.java | |
parent | 00096ac5b2c824fc7e8d7203229c8f246caf833c (diff) |
- added isReleased() to CLResource, made CLObject public.
- a CLResource will throw an Exception if released twice.
Diffstat (limited to 'src/com/jogamp/opencl/util/CLMultiContext.java')
-rw-r--r-- | src/com/jogamp/opencl/util/CLMultiContext.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/jogamp/opencl/util/CLMultiContext.java b/src/com/jogamp/opencl/util/CLMultiContext.java index eb42092e..156a9fa6 100644 --- a/src/com/jogamp/opencl/util/CLMultiContext.java +++ b/src/com/jogamp/opencl/util/CLMultiContext.java @@ -25,6 +25,7 @@ import static com.jogamp.opencl.CLDevice.Type.*; public class CLMultiContext implements CLResource { private final List<CLContext> contexts; + private boolean released; private CLMultiContext() { contexts = new ArrayList<CLContext>(); @@ -132,7 +133,12 @@ public class CLMultiContext implements CLResource { * Releases all contexts. * @see CLContext#release() */ + @Override public void release() { + if(released) { + throw new RuntimeException(getClass().getSimpleName()+" already released"); + } + released = true; for (CLContext context : contexts) { context.release(); } @@ -154,6 +160,10 @@ public class CLMultiContext implements CLResource { return devices; } + public boolean isReleased() { + return released; + } + @Override public String toString() { return getClass().getSimpleName()+" [" + contexts.size()+" contexts, " |