[ https://issues.apache.org/jira/browse/FELIX-2890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Nodet resolved FELIX-2890. ------------------------------------ Resolution: Fixed Fix Version/s: fileinstall-3.1.12 Assignee: Guillaume Nodet (was: Sahoo) > FileInstall starts non-daemon threads > ------------------------------------- > > Key: FELIX-2890 > URL: https://issues.apache.org/jira/browse/FELIX-2890 > Project: Felix > Issue Type: Bug > Components: File Install > Affects Versions: fileinstall-3.1.10 > Reporter: Sahoo > Assignee: Guillaume Nodet > Fix For: fileinstall-3.1.12 > > > The initial fileinstall thread can be a non-daemon thread as shown below: > "fileinstall-/space/ss141213/WS/gf/v3/publish/glassfish3/glassfish/modules/autostart/" > prio=10 tid=0x7b73d000 nid=0x1d77 in Object.wait() [0x7925c000] > "fileinstall-/space/ss141213/WS/gf/v3/publish/glassfish3/glassfish/domains/domain1/autodeploy/bundles/" > daemon prio=10 tid=0x0a3d7c00 nid=0x1d76 in Object.wait() [0x792ad000] > The first one here is created based on bundle context property where as the > second one is on config event. Looking at the code, I see the code does not > explicitly set daemon status, so the new thread just inherits the parent's > daemon status. A simple fix like the below is needed to make sure that > fileinstall always starts daemon thread so that even if the bundle is not > stopped, the VM exits. > Index: src/main/java/org/apache/felix/fileinstall/internal/FileInstall.java > =================================================================== > --- src/main/java/org/apache/felix/fileinstall/internal/FileInstall.java > (revision 1063634) > +++ src/main/java/org/apache/felix/fileinstall/internal/FileInstall.java > (working copy) > @@ -214,6 +214,7 @@ > watcher.close(); > } > watcher = new DirectoryWatcher(properties, context); > + watcher.setDaemon(true); > synchronized (watchers) > { > watchers.put(pid, watcher); > Let me know if you have objections or you think it is an incompatible change. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira