Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- DataControlFieldCell.cs
- AnimationLayer.cs
- DbResourceAllocator.cs
- HtmlForm.cs
- PropertyEntry.cs
- DataGridViewLinkCell.cs
- returneventsaver.cs
- ParseElement.cs
- XmlEntity.cs
- TextOnlyOutput.cs
- XPathArrayIterator.cs
- RelationshipEnd.cs
- AttachedAnnotationChangedEventArgs.cs
- VisualBasicHelper.cs
- SqlCrossApplyToCrossJoin.cs
- Enlistment.cs
- HttpWebRequestElement.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- BuildProvider.cs
- Module.cs
- TextRunCacheImp.cs
- RegexCharClass.cs
- RoleManagerEventArgs.cs
- InvariantComparer.cs
- Mappings.cs
- SecurityTokenResolver.cs
- ITreeGenerator.cs
- StyleSelector.cs
- PropertyGridCommands.cs
- CodeCommentStatement.cs
- Internal.cs
- CompositeKey.cs
- SubstitutionList.cs
- ConnectionPoolManager.cs
- WorkflowRuntimeService.cs
- ExternalFile.cs
- StorageFunctionMapping.cs
- Completion.cs
- Rotation3DAnimationUsingKeyFrames.cs
- DbRetry.cs
- OleDbCommandBuilder.cs
- TreeNodeCollection.cs
- CapabilitiesRule.cs
- InputGestureCollection.cs
- altserialization.cs
- TextRunCacheImp.cs
- QilReference.cs
- ActivitySurrogate.cs
- OleDbInfoMessageEvent.cs
- CodeGen.cs
- ReadOnlyAttribute.cs
- WindowsSysHeader.cs
- CapabilitiesAssignment.cs
- WebHttpDispatchOperationSelector.cs
- CultureMapper.cs
- XsltContext.cs
- CallbackDebugBehavior.cs
- UnsafeNativeMethods.cs
- RenderingEventArgs.cs
- RegexMatchCollection.cs
- WebPartUtil.cs
- InputProcessorProfilesLoader.cs
- SecureConversationDriver.cs
- CompilationPass2TaskInternal.cs
- ShaderEffect.cs
- SqlDuplicator.cs
- ComponentChangedEvent.cs
- TextDecorationLocationValidation.cs
- LayoutEngine.cs
- SecurityManager.cs
- BookmarkScopeManager.cs
- ResourceDictionaryCollection.cs
- XmlUtilWriter.cs
- WindowsScroll.cs
- SessionSwitchEventArgs.cs
- VirtualPathData.cs
- XmlTextAttribute.cs
- HScrollProperties.cs
- ComponentDispatcher.cs
- IntegerFacetDescriptionElement.cs
- Form.cs
- LogicalCallContext.cs
- PageContent.cs
- _CommandStream.cs
- SourceFileBuildProvider.cs
- SignatureResourcePool.cs
- Sequence.cs
- RectAnimationClockResource.cs
- AtlasWeb.Designer.cs
- ObjectToken.cs
- RepeaterItemEventArgs.cs
- WebConfigurationHost.cs
- Compilation.cs
- UnsafeNativeMethods.cs
- StringValueConverter.cs
- UriParserTemplates.cs
- DataGridTextBoxColumn.cs
- CodeThrowExceptionStatement.cs
- ImageSource.cs
- ProfileManager.cs