Commit 4c1bb388 authored by Andy Wilkinson's avatar Andy Wilkinson

Fix broken locking in Restarter.initialize

Closes gh-4955
parent c77a7e0c
......@@ -525,12 +525,16 @@ public class Restarter {
public static void initialize(String[] args, boolean forceReferenceCleanup,
RestartInitializer initializer, boolean restartOnInitialize,
RestartListener... listeners) {
if (instance == null) {
synchronized (Restarter.class) {
instance = new Restarter(Thread.currentThread(), args,
Restarter localInstance = null;
synchronized (Restarter.class) {
if (instance == null) {
localInstance = new Restarter(Thread.currentThread(), args,
forceReferenceCleanup, initializer, listeners);
instance = localInstance;
}
instance.initialize(restartOnInitialize);
}
if (localInstance != null) {
localInstance.initialize(restartOnInitialize);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment