Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Configuration / System / Configuration / SafeBitVector32.cs / 1 / SafeBitVector32.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Threading; namespace System.Configuration { // // This is a multithreadsafe version of System.Collections.Specialized.BitVector32. // [Serializable] internal struct SafeBitVector32 { private volatile int _data; internal SafeBitVector32(int data) { this._data = data; } #if UNUSED_CODE internal bool IsAnySet(int bitMask) { int data = _data; return (data & bitMask) != 0; } #endif internal bool this[int bit] { get { int data = _data; return (data & bit) == bit; } set { for (;;) { int oldData = _data; int newData; if (value) { newData = oldData | bit; } else { newData = oldData & ~bit; } #pragma warning disable 0420 int result = Interlocked.CompareExchange(ref _data, newData, oldData); #pragma warning restore 0420 if (result == oldData) { break; } } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Threading; namespace System.Configuration { // // This is a multithreadsafe version of System.Collections.Specialized.BitVector32. // [Serializable] internal struct SafeBitVector32 { private volatile int _data; internal SafeBitVector32(int data) { this._data = data; } #if UNUSED_CODE internal bool IsAnySet(int bitMask) { int data = _data; return (data & bitMask) != 0; } #endif internal bool this[int bit] { get { int data = _data; return (data & bit) == bit; } set { for (;;) { int oldData = _data; int newData; if (value) { newData = oldData | bit; } else { newData = oldData & ~bit; } #pragma warning disable 0420 int result = Interlocked.CompareExchange(ref _data, newData, oldData); #pragma warning restore 0420 if (result == oldData) { break; } } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataSourceXmlSubItemAttribute.cs
- NativeRightsManagementAPIsStructures.cs
- DataSourceCacheDurationConverter.cs
- TrackingLocation.cs
- StylusPoint.cs
- Point3DValueSerializer.cs
- Int32Rect.cs
- CounterCreationDataConverter.cs
- ScriptIgnoreAttribute.cs
- XmlSerializableReader.cs
- TextBlock.cs
- returneventsaver.cs
- LinqDataSourceDisposeEventArgs.cs
- CompilerParameters.cs
- OAVariantLib.cs
- ApplyImportsAction.cs
- MatrixIndependentAnimationStorage.cs
- Container.cs
- CoTaskMemHandle.cs
- HtmlInputControl.cs
- ReferencedAssembly.cs
- SplitContainer.cs
- Listbox.cs
- FieldTemplateUserControl.cs
- RadioButtonRenderer.cs
- ModuleElement.cs
- CompareValidator.cs
- IpcChannelHelper.cs
- PropertyToken.cs
- SafeProcessHandle.cs
- CheckBoxAutomationPeer.cs
- XPathNodeInfoAtom.cs
- FragmentQueryProcessor.cs
- CodeAccessSecurityEngine.cs
- Track.cs
- MediaContextNotificationWindow.cs
- ISessionStateStore.cs
- OneToOneMappingSerializer.cs
- DataRowExtensions.cs
- BypassElementCollection.cs
- AvTraceFormat.cs
- UserUseLicenseDictionaryLoader.cs
- SoapMessage.cs
- TableStyle.cs
- ApplicationServiceManager.cs
- HandleValueEditor.cs
- MethodBuilder.cs
- CodePageEncoding.cs
- MobileFormsAuthentication.cs
- SqlBuilder.cs
- PointCollection.cs
- DrawingVisual.cs
- BitmapEffectState.cs
- ValueChangedEventManager.cs
- SmiContext.cs
- XmlSchemaAppInfo.cs
- PeerHopCountAttribute.cs
- ConnectAlgorithms.cs
- DataGridViewTextBoxEditingControl.cs
- Nullable.cs
- RuntimeConfigLKG.cs
- WebPartMenu.cs
- CalendarKeyboardHelper.cs
- DataControlPagerLinkButton.cs
- Style.cs
- IndexingContentUnit.cs
- StreamAsIStream.cs
- ConfigurationPropertyCollection.cs
- LinqTreeNodeEvaluator.cs
- CachedCompositeFamily.cs
- XamlSerializationHelper.cs
- AuthenticationException.cs
- PropertyGrid.cs
- HashRepartitionEnumerator.cs
- HebrewNumber.cs
- DeploymentExceptionMapper.cs
- XmlAtomicValue.cs
- PersonalizationAdministration.cs
- DataGridTableCollection.cs
- ServiceManager.cs
- DataGridViewDataErrorEventArgs.cs
- ThreadAbortException.cs
- TempEnvironment.cs
- XmlTextReaderImplHelpers.cs
- BmpBitmapDecoder.cs
- SetStoryboardSpeedRatio.cs
- SelectQueryOperator.cs
- BookmarkNameHelper.cs
- HttpHandlerAction.cs
- MissingSatelliteAssemblyException.cs
- MappingModelBuildProvider.cs
- ReaderOutput.cs
- MailMessageEventArgs.cs
- OdbcException.cs
- ViewGenResults.cs
- GridViewColumnCollectionChangedEventArgs.cs
- FunctionMappingTranslator.cs
- ServiceDescriptions.cs
- EventSetterHandlerConverter.cs
- DataException.cs