Example #1
0
        private FarmSettingStore GetWriteSettingStore()
        {
            rrLock.EnterUpgradeableReadLock();

            try
            {
                GetSettingStore();

                if (_settingStore == null) // setting store not yet created
                {
                    rrLock.EnterWriteLock();

                    try
                    {
                        _settingStore = FarmSettingStore.Create(this.farm);
                    }
                    finally
                    {
                        rrLock.ExitWriteLock();
                    }
                }
                return(_settingStore);
            }
            finally
            {
                rrLock.ExitUpgradeableReadLock();
            }
        }