Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- MetadataArtifactLoaderComposite.cs
- HitTestFilterBehavior.cs
- Attributes.cs
- SqlDesignerDataSourceView.cs
- ScrollBar.cs
- MDIWindowDialog.cs
- FontInfo.cs
- MenuItemAutomationPeer.cs
- SortKey.cs
- ChannelReliableSession.cs
- SpecularMaterial.cs
- InvokerUtil.cs
- PageCodeDomTreeGenerator.cs
- OdbcConnectionString.cs
- DiffuseMaterial.cs
- Literal.cs
- PreProcessor.cs
- LinkButton.cs
- EventWaitHandleSecurity.cs
- NTAccount.cs
- JsonObjectDataContract.cs
- SqlInternalConnectionTds.cs
- TemplateBaseAction.cs
- ExpressionPrefixAttribute.cs
- BehaviorEditorPart.cs
- DataView.cs
- Vector3DValueSerializer.cs
- DateTime.cs
- FilterableAttribute.cs
- GlobalItem.cs
- BrowsableAttribute.cs
- XpsViewerException.cs
- CommonDialog.cs
- NegationPusher.cs
- TypeUnloadedException.cs
- _BasicClient.cs
- RelationshipNavigation.cs
- TableLayoutStyle.cs
- ComponentEvent.cs
- ClientScriptManagerWrapper.cs
- OpenTypeCommon.cs
- AppDomainUnloadedException.cs
- FontStretch.cs
- BindingListCollectionView.cs
- JavaScriptObjectDeserializer.cs
- TableDesigner.cs
- QilBinary.cs
- ActivityTypeDesigner.xaml.cs
- XmlCompatibilityReader.cs
- BindingContext.cs
- DecimalAnimationBase.cs
- AspProxy.cs
- Underline.cs
- ReverseInheritProperty.cs
- DBConnection.cs
- RequestUriProcessor.cs
- BooleanAnimationUsingKeyFrames.cs
- ValueConversionAttribute.cs
- SettingsPropertyValueCollection.cs
- WebPartCollection.cs
- InvalidDataException.cs
- AnnotationHighlightLayer.cs
- ApplicationServicesHostFactory.cs
- ContractComponent.cs
- NativeObjectSecurity.cs
- PreservationFileReader.cs
- BamlResourceSerializer.cs
- DeclarativeCatalogPart.cs
- WindowsStatusBar.cs
- HMACSHA1.cs
- GeneralTransform3D.cs
- TaiwanCalendar.cs
- ChannelServices.cs
- compensatingcollection.cs
- DateTimeOffsetAdapter.cs
- Compilation.cs
- ButtonPopupAdapter.cs
- SHA384.cs
- ResXResourceWriter.cs
- DiagnosticTraceSource.cs
- _NativeSSPI.cs
- BuildDependencySet.cs
- TextEditorTyping.cs
- XsdValidatingReader.cs
- HyperLinkStyle.cs
- XmlSchemaCollection.cs
- SettingsBindableAttribute.cs
- PermissionAttributes.cs
- LOSFormatter.cs
- _ListenerRequestStream.cs
- Repeater.cs
- TempEnvironment.cs
- Permission.cs
- FastPropertyAccessor.cs
- MetafileHeaderWmf.cs
- ServiceParser.cs
- PageCache.cs
- DataServiceContext.cs
- ContentIterators.cs
- CreateUserWizardAutoFormat.cs