aboutsummaryrefslogtreecommitdiff
path: root/nailgun_launcher/TrapSecurityManager.java
Commit message (Collapse)AuthorAgeFilesLines
* use unboxed primitives everywhere possible for reliable == behaviorChristopher Vogt2017-02-091-1/+1
|
* fix handling of null exception messagesChristopher Vogt2016-11-031-1/+1
|
* Fix exit code trapping across classloadersChristopher Vogt2016-10-071-4/+48
| | | | | | | | | | A SecurityManager is once installed globally and stays the same across all classloaders. TrapSecurityManager was installed this way, but it looked up the `trapExitCode` in it's own classloader, while classes in other classloaders (when cbt was using another version of cbt) were writing it to their own classloader. This flag needs to be in a global place instead to fix this, so we'll put it straight into the TrapSecurityManager itself.
* fix behavior of System.exit trappingChristopher Vogt2016-09-151-2/+22
| | | | | | | | | Installing one globally for the JVM live-time and make behavior dependent on a thread local variable seems safer than globally switching it out and having race conditions. Also now all other calls are forwarded to a potential Nailgun SecurityManager, which should fix some bugs.
* Early classloading improvementsChristopher Vogt2016-03-281-0/+19
- Changed launcher to already load zinc - use code generation to generate necessary dependencies - changed resolver to linearize dependency DAG in a way that guarantees that every transitive dependee of a node in the DAG is a transitive dependee of that node in the linear sequence - move exit code trapping code into java so it can be used for zinc early There seems to be a bug in this version, where CBT crashes about half of the time with a "object is not an instance of declaring class" Exception during running the task from the build object via reflection.