Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SmiMetaData.cs
- RequiredAttributeAttribute.cs
- FormsAuthenticationEventArgs.cs
- MetadataFile.cs
- XamlPointCollectionSerializer.cs
- TaskFileService.cs
- DataGridColumnHeadersPresenter.cs
- AsyncResult.cs
- SqlNodeAnnotation.cs
- InstanceKeyNotReadyException.cs
- LineMetrics.cs
- UserUseLicenseDictionaryLoader.cs
- OleDbReferenceCollection.cs
- CompilationUtil.cs
- SkinBuilder.cs
- HttpHandlerActionCollection.cs
- MessageHeader.cs
- ObjectDataSourceDisposingEventArgs.cs
- GeometryModel3D.cs
- ToolBarButton.cs
- ImageListStreamer.cs
- TripleDES.cs
- TypeConverter.cs
- TargetConverter.cs
- HtmlElement.cs
- ScriptingJsonSerializationSection.cs
- hebrewshape.cs
- AttributeEmitter.cs
- MatrixCamera.cs
- EventMappingSettingsCollection.cs
- WebUtil.cs
- AuthenticationService.cs
- EventHandlerList.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- brushes.cs
- SecureUICommand.cs
- XPathItem.cs
- DataGridViewLinkCell.cs
- FileDialogCustomPlacesCollection.cs
- DoubleKeyFrameCollection.cs
- Sequence.cs
- ActivityXRefConverter.cs
- EntityCommand.cs
- TdsParserStateObject.cs
- XmlLoader.cs
- DataGridViewCell.cs
- EnumMember.cs
- BaseInfoTable.cs
- HttpPostProtocolImporter.cs
- CompilationLock.cs
- TTSEngineTypes.cs
- EntityDataSourceWrapper.cs
- TreeBuilderXamlTranslator.cs
- WindowsIdentity.cs
- JapaneseLunisolarCalendar.cs
- RegisteredExpandoAttribute.cs
- ItemMap.cs
- AdCreatedEventArgs.cs
- BindingRestrictions.cs
- DesignerView.Commands.cs
- SymbolEqualComparer.cs
- RenderData.cs
- DSASignatureDeformatter.cs
- MimeMapping.cs
- CmsInterop.cs
- CommonDialog.cs
- UnmanagedMemoryStream.cs
- XmlSerializerFactory.cs
- ModifiableIteratorCollection.cs
- XmlCompatibilityReader.cs
- UriParserTemplates.cs
- AbstractDataSvcMapFileLoader.cs
- RowVisual.cs
- SetUserLanguageRequest.cs
- Roles.cs
- GridItemPattern.cs
- AsyncContentLoadedEventArgs.cs
- RowVisual.cs
- StringBuilder.cs
- UriTemplatePathSegment.cs
- ArrayHelper.cs
- PersistenceProviderDirectory.cs
- FamilyCollection.cs
- FrameworkElement.cs
- MissingManifestResourceException.cs
- Hash.cs
- EndpointAddressMessageFilter.cs
- SaveLedgerEntryRequest.cs
- SamlAudienceRestrictionCondition.cs
- DetailsViewUpdatedEventArgs.cs
- ControlDesigner.cs
- LinqDataSourceDeleteEventArgs.cs
- StateDesigner.Helpers.cs
- EncodingTable.cs
- DashStyle.cs
- HttpCachePolicyBase.cs
- DataControlPagerLinkButton.cs
- SHA384.cs
- DataRow.cs
- RadioButtonList.cs