Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / SafeBitVector32.cs / 1305376 / 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
- parserscommon.cs
- UserValidatedEventArgs.cs
- localization.cs
- DeviceContext.cs
- ForceCopyBuildProvider.cs
- DataServiceHost.cs
- FixedSchema.cs
- FragmentNavigationEventArgs.cs
- ItemContainerGenerator.cs
- TextEditorTyping.cs
- SecurityPolicySection.cs
- FlowDocumentScrollViewer.cs
- PropertyDescriptors.cs
- ContentHostHelper.cs
- AppModelKnownContentFactory.cs
- StorageEndPropertyMapping.cs
- EntityDataSourceViewSchema.cs
- SqlErrorCollection.cs
- ConfigurationPermission.cs
- IHttpResponseInternal.cs
- ToolStripItemEventArgs.cs
- OdbcRowUpdatingEvent.cs
- PassportPrincipal.cs
- OdbcConnectionOpen.cs
- LocatorGroup.cs
- BinaryObjectInfo.cs
- UITypeEditor.cs
- XmlStringTable.cs
- XamlBuildProvider.cs
- WebScriptServiceHost.cs
- FrameworkPropertyMetadata.cs
- FilterableAttribute.cs
- ThicknessAnimation.cs
- OverflowException.cs
- sqlmetadatafactory.cs
- EntityConnectionStringBuilder.cs
- ListDictionaryInternal.cs
- unitconverter.cs
- TempFiles.cs
- SvcMapFileLoader.cs
- WebPartVerbCollection.cs
- Hex.cs
- VarRefManager.cs
- TextRangeEdit.cs
- ConstructorNeedsTagAttribute.cs
- HttpHostedTransportConfiguration.cs
- DocumentPageTextView.cs
- Ppl.cs
- ParserOptions.cs
- Tablet.cs
- WebPartsSection.cs
- WebPartConnectionsEventArgs.cs
- SignatureHelper.cs
- MexServiceChannelBuilder.cs
- SiteMapNode.cs
- NotifyParentPropertyAttribute.cs
- ServicesExceptionNotHandledEventArgs.cs
- DataBoundControlActionList.cs
- DataGridBoundColumn.cs
- XmlWriterTraceListener.cs
- TabItemAutomationPeer.cs
- XmlSchemaFacet.cs
- DependentList.cs
- SystemIPAddressInformation.cs
- VirtualDirectoryMappingCollection.cs
- CheckBoxPopupAdapter.cs
- BufferModesCollection.cs
- _TLSstream.cs
- ApplicationDirectoryMembershipCondition.cs
- ListDictionary.cs
- ApplicationServiceManager.cs
- ToolBar.cs
- HelpHtmlBuilder.cs
- TTSVoice.cs
- ACL.cs
- LiteralSubsegment.cs
- CheckedPointers.cs
- PersonalizableTypeEntry.cs
- ProxyFragment.cs
- UnknownWrapper.cs
- WindowsScroll.cs
- ListMarkerLine.cs
- StaticSiteMapProvider.cs
- ObjectPersistData.cs
- FileUtil.cs
- DataPager.cs
- VisualBrush.cs
- NumberSubstitution.cs
- FastEncoder.cs
- Vector.cs
- NameGenerator.cs
- DataControlLinkButton.cs
- DataGridViewBindingCompleteEventArgs.cs
- TableStyle.cs
- ChildTable.cs
- documentation.cs
- userdatakeys.cs
- IODescriptionAttribute.cs
- KeyboardNavigation.cs
- WSSecurityOneDotOneSendSecurityHeader.cs