libbluray | branch: master | ace20022 <[email protected]> | Tue Nov 11 21:55:02 2014 +0100| [1536f3b69dad57cec1a8c655e95e720ed71e3709] | committer: hpi1
Close the class loader when releasing the BDJXletContext. This fixes non-erasable cached jar files due to opened handles. > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=1536f3b69dad57cec1a8c655e95e720ed71e3709 --- src/libbluray/bdj/java/org/videolan/BDJXletContext.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libbluray/bdj/java/org/videolan/BDJXletContext.java b/src/libbluray/bdj/java/org/videolan/BDJXletContext.java index 7f6f757..80351d5 100644 --- a/src/libbluray/bdj/java/org/videolan/BDJXletContext.java +++ b/src/libbluray/bdj/java/org/videolan/BDJXletContext.java @@ -21,6 +21,8 @@ package org.videolan; import java.awt.Container; import java.awt.EventQueue; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.net.URL; import java.util.LinkedList; import java.util.HashMap; @@ -430,6 +432,16 @@ public class BDJXletContext implements javax.tv.xlet.XletContext, javax.microedi threadGroup.stopAll(1000); + try { + Method m; + m = loader.getClass().getMethod("close", new Class[0]); + m.invoke(loader, new Object[0]); + } catch (NoSuchMethodException e) { + } catch (IllegalAccessException e) { + } catch (IllegalArgumentException e) { + } catch (InvocationTargetException e) { + } + synchronized (this) { threadGroup = null; loader = null; _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
