Allon Mureinik has uploaded a new change for review.

Change subject: core: Fix double checking
......................................................................

core: Fix double checking

These getInstance() methods implement a double-checking scheme to
initialize the instance static member.

In order for this mechanism to operate correctly, the instance member
should be defined as volatile (see, e.g.,
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html).

Change-Id: I6beb664980766958b3127080fdb785c6e668f6a9
Signed-off-by: Allon Mureinik <amure...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/IsoDomainListSyncronizer.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
2 files changed, 2 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/55/18655/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/IsoDomainListSyncronizer.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/IsoDomainListSyncronizer.java
index cdd7bb3..09590ae 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/IsoDomainListSyncronizer.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/IsoDomainListSyncronizer.java
@@ -59,7 +59,7 @@
     private static final Log log = 
LogFactory.getLog(IsoDomainListSyncronizer.class);
     private List<RepoImage> problematicRepoFileList = new 
ArrayList<RepoImage>();
     private static final int MIN_TO_MILLISECONDS = 60 * 1000;
-    private static IsoDomainListSyncronizer isoDomainListSyncronizer;
+    private static volatile IsoDomainListSyncronizer isoDomainListSyncronizer;
     private static final ConcurrentMap<Object, Lock> syncDomainForFileTypeMap 
= new ConcurrentHashMap<Object, Lock>();
     private int isoDomainRefreshRate;
     RepoFileMetaDataDAO repoStorageDom;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
index 0ef33c5..b133234 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
@@ -43,7 +43,7 @@
     /**
      * singleton
      */
-    private static SchedulingManager instance = null;
+    private static volatile SchedulingManager instance = null;
 
     public static SchedulingManager getInstance() {
         if (instance == null) {


-- 
To view, visit http://gerrit.ovirt.org/18655
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6beb664980766958b3127080fdb785c6e668f6a9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Allon Mureinik <amure...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to