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
- AttachedPropertyBrowsableForTypeAttribute.cs
- MimePart.cs
- HttpModule.cs
- DataGridColumnEventArgs.cs
- CreatingCookieEventArgs.cs
- ResXResourceSet.cs
- Comparer.cs
- ServiceParser.cs
- RotationValidation.cs
- DesignTimeDataBinding.cs
- TextFormatter.cs
- SqlInternalConnectionTds.cs
- Matrix3D.cs
- ContextDataSource.cs
- AlignmentYValidation.cs
- QuerySettings.cs
- X509Logo.cs
- DelayedRegex.cs
- OciLobLocator.cs
- OdbcError.cs
- ComplexPropertyEntry.cs
- MissingFieldException.cs
- Button.cs
- LocationSectionRecord.cs
- XmlQualifiedName.cs
- XmlWriterTraceListener.cs
- MILUtilities.cs
- CodeTypeMemberCollection.cs
- DecodeHelper.cs
- BidPrivateBase.cs
- LineInfo.cs
- _OSSOCK.cs
- InputManager.cs
- ServiceChannelFactory.cs
- XmlEntity.cs
- XamlReader.cs
- PeerContact.cs
- securitymgrsite.cs
- BaseParaClient.cs
- ProfileService.cs
- MessageQueue.cs
- TextOutput.cs
- TokenBasedSet.cs
- SqlPersonalizationProvider.cs
- FtpWebResponse.cs
- Compress.cs
- CommandBindingCollection.cs
- ObjRef.cs
- BitStream.cs
- RoutedEventArgs.cs
- Membership.cs
- BitmapEffectrendercontext.cs
- ResourcesBuildProvider.cs
- ApplicationFileParser.cs
- Point3DValueSerializer.cs
- XmlSchemaAnnotation.cs
- AutomationPeer.cs
- DivideByZeroException.cs
- SystemKeyConverter.cs
- RuntimeEnvironment.cs
- XmlText.cs
- StandardToolWindows.cs
- CheckBoxField.cs
- ReadContentAsBinaryHelper.cs
- NamespaceEmitter.cs
- LocalFileSettingsProvider.cs
- PartitionerStatic.cs
- LocalizationParserHooks.cs
- WmlValidationSummaryAdapter.cs
- EntityParameter.cs
- InlineUIContainer.cs
- Dynamic.cs
- EntityDataSourceEntitySetNameItem.cs
- ADConnectionHelper.cs
- Baml2006ReaderFrame.cs
- RootBrowserWindowProxy.cs
- NonBatchDirectoryCompiler.cs
- ConnectionStringEditor.cs
- ListViewItem.cs
- ProxyWebPart.cs
- ToolStripItemRenderEventArgs.cs
- CollectionViewProxy.cs
- DirectoryInfo.cs
- GeometryCombineModeValidation.cs
- DetailsViewInsertedEventArgs.cs
- MetafileEditor.cs
- ImageListUtils.cs
- XmlILOptimizerVisitor.cs
- RawUIStateInputReport.cs
- DataGridTablesFactory.cs
- AndCondition.cs
- DBConnectionString.cs
- XsltCompileContext.cs
- SoapAttributes.cs
- ToolboxItemCollection.cs
- SimpleType.cs
- WebPartConnectionsConnectVerb.cs
- Permission.cs
- PlatformNotSupportedException.cs
- _FixedSizeReader.cs