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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- QuotedStringWriteStateInfo.cs
- SafeNativeMethods.cs
- BamlTreeMap.cs
- Queue.cs
- OleDbParameter.cs
- SoapFault.cs
- ProgressBarRenderer.cs
- SqlConnectionStringBuilder.cs
- SchemaContext.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- PageWrapper.cs
- SessionStateSection.cs
- ButtonChrome.cs
- ChangesetResponse.cs
- PropertyRecord.cs
- Vector3DConverter.cs
- ApplyImportsAction.cs
- LinqDataSource.cs
- PrimarySelectionAdorner.cs
- GcHandle.cs
- CornerRadius.cs
- TextDocumentView.cs
- OdbcParameter.cs
- MailBnfHelper.cs
- Vector3DAnimationBase.cs
- SafeEventLogWriteHandle.cs
- CompilationRelaxations.cs
- HtmlTextArea.cs
- LogEntrySerialization.cs
- SchemaAttDef.cs
- ReachSerializerAsync.cs
- HtmlTitle.cs
- COAUTHINFO.cs
- PersonalizableAttribute.cs
- Int32CollectionConverter.cs
- VectorAnimation.cs
- infer.cs
- BmpBitmapEncoder.cs
- FixedSOMTableRow.cs
- TopClause.cs
- CommonXSendMessage.cs
- Token.cs
- SpecialFolderEnumConverter.cs
- ComEventsSink.cs
- _SslSessionsCache.cs
- GridViewPageEventArgs.cs
- OleDbPermission.cs
- Identifier.cs
- ProcessHostFactoryHelper.cs
- PropertyChangedEventArgs.cs
- TrackingStringDictionary.cs
- InputManager.cs
- ConnectorEditor.cs
- TracingConnectionInitiator.cs
- SemaphoreFullException.cs
- TextOptions.cs
- HttpChannelBindingToken.cs
- ArraySubsetEnumerator.cs
- DiscoveryInnerClientManaged11.cs
- SemanticBasicElement.cs
- FontInfo.cs
- TextProviderWrapper.cs
- TextStore.cs
- StylusLogic.cs
- Int16AnimationUsingKeyFrames.cs
- FormatSettings.cs
- OutgoingWebRequestContext.cs
- NonVisualControlAttribute.cs
- ChangeConflicts.cs
- XamlInt32CollectionSerializer.cs
- XmlSerializerAssemblyAttribute.cs
- BmpBitmapEncoder.cs
- Process.cs
- SystemEvents.cs
- PieceNameHelper.cs
- followingsibling.cs
- DeferredSelectedIndexReference.cs
- AuthenticatedStream.cs
- ArithmeticException.cs
- RotateTransform.cs
- SoapSchemaMember.cs
- DataGridAddNewRow.cs
- MetadataSource.cs
- PerfCounters.cs
- PeerServiceMessageContracts.cs
- DataGridTableCollection.cs
- PropertyInfoSet.cs
- MetaDataInfo.cs
- MethodToken.cs
- ObjectDataSourceView.cs
- Activity.cs
- SiblingIterators.cs
- QueryOpeningEnumerator.cs
- VariantWrapper.cs
- FormsIdentity.cs
- TextElementEditingBehaviorAttribute.cs
- TdsParserSafeHandles.cs
- WebPartAuthorizationEventArgs.cs
- CodeMethodInvokeExpression.cs
- TextMetrics.cs