Author: pmouawad Date: Wed Nov 30 22:02:40 2011 New Revision: 1208825 URL: http://svn.apache.org/viewvc?rev=1208825&view=rev Log: Fixed potential double init if method is called concurrently
Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/action/ActionRouter.java Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/action/ActionRouter.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/action/ActionRouter.java?rev=1208825&r1=1208824&r2=1208825&view=diff ============================================================================== --- jmeter/trunk/src/core/org/apache/jmeter/gui/action/ActionRouter.java (original) +++ jmeter/trunk/src/core/org/apache/jmeter/gui/action/ActionRouter.java Wed Nov 30 22:02:40 2011 @@ -41,6 +41,8 @@ import org.apache.log.Logger; public final class ActionRouter implements ActionListener { private static final Logger log = LoggingManager.getLoggerForClass(); + private static final Object LOCK = new Object(); + private static ActionRouter router; private Map<String, Set<Command>> commands = new HashMap<String, Set<Command>>(); @@ -279,8 +281,12 @@ public final class ActionRouter implemen */ public static ActionRouter getInstance() { if (router == null) { - router = new ActionRouter(); - router.populateCommandMap(); + synchronized (LOCK) { + if(router == null) { + router = new ActionRouter(); + router.populateCommandMap(); + } + } } return router; }