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
- SqlUDTStorage.cs
- UserInitiatedNavigationPermission.cs
- SpellerStatusTable.cs
- TranslateTransform3D.cs
- CustomGrammar.cs
- ExtendedProtectionPolicyElement.cs
- HashMembershipCondition.cs
- ItemDragEvent.cs
- LogReservationCollection.cs
- BulletedListEventArgs.cs
- StatusBarPanelClickEvent.cs
- RequestQueue.cs
- Freezable.cs
- TextEncodedRawTextWriter.cs
- reliableinputsessionchannel.cs
- ClientData.cs
- AsymmetricAlgorithm.cs
- XsltException.cs
- RSAPKCS1KeyExchangeFormatter.cs
- CopyOnWriteList.cs
- TargetParameterCountException.cs
- MailHeaderInfo.cs
- LinkDescriptor.cs
- InsufficientMemoryException.cs
- Point4D.cs
- Condition.cs
- oledbmetadatacollectionnames.cs
- LambdaCompiler.Binary.cs
- PnrpPermission.cs
- SecureStringHasher.cs
- SoapDocumentMethodAttribute.cs
- UidManager.cs
- DataBoundControlHelper.cs
- SettingsProviderCollection.cs
- XomlDesignerLoader.cs
- RegexTree.cs
- LocationSectionRecord.cs
- FixedSOMLineRanges.cs
- PropagatorResult.cs
- CallTemplateAction.cs
- SqlTriggerContext.cs
- SqlBuffer.cs
- XmlSchemaProviderAttribute.cs
- TextDecorationLocationValidation.cs
- MD5HashHelper.cs
- CompensationDesigner.cs
- SiteOfOriginPart.cs
- SchemaObjectWriter.cs
- basecomparevalidator.cs
- MultipartContentParser.cs
- GregorianCalendar.cs
- SqlNodeAnnotation.cs
- UserPersonalizationStateInfo.cs
- TreeWalker.cs
- ImageCodecInfo.cs
- PowerStatus.cs
- GridItemCollection.cs
- WindowsAuthenticationModule.cs
- XmlCountingReader.cs
- ForAllOperator.cs
- XmlHierarchicalEnumerable.cs
- ScrollableControl.cs
- Style.cs
- UnauthorizedAccessException.cs
- DesignerPerfEventProvider.cs
- MasterPageCodeDomTreeGenerator.cs
- ProcessThreadCollection.cs
- BinHexEncoding.cs
- TabControlEvent.cs
- Validator.cs
- ArraySortHelper.cs
- DynamicEntity.cs
- DirectionalLight.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- ToolStripArrowRenderEventArgs.cs
- ObfuscateAssemblyAttribute.cs
- ConfigXmlText.cs
- DbBuffer.cs
- IImplicitResourceProvider.cs
- XmlWellformedWriterHelpers.cs
- WsdlEndpointConversionContext.cs
- XmlSchemaAttributeGroup.cs
- OdbcConnectionStringbuilder.cs
- XmlWriter.cs
- TemplateGroupCollection.cs
- BlurEffect.cs
- DataKey.cs
- PresentationTraceSources.cs
- COM2EnumConverter.cs
- DeleteIndexBinder.cs
- DataListItem.cs
- login.cs
- TextChangedEventArgs.cs
- Hyperlink.cs
- SwitchElementsCollection.cs
- ToolStripDesignerAvailabilityAttribute.cs
- DataRowCollection.cs
- ImageFormat.cs
- ZipIOExtraFieldZip64Element.cs
- DbExpressionVisitor.cs