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