Skip to content

Commit

Permalink
Fix broken locking in Restarter.initialize
Browse files Browse the repository at this point in the history
  • Loading branch information
wilkinsona committed Jan 22, 2016
1 parent c77a7e0 commit 4c1bb38
Showing 1 changed file with 8 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -525,12 +525,16 @@ public static void initialize(String[] args, boolean forceReferenceCleanup,
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);
}
}

Expand Down

0 comments on commit 4c1bb38

Please sign in to comment.