Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Util / SafeBitVector32.cs / 1305376 / SafeBitVector32.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Threading; namespace System.Web.Util { // // 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; } 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; } } } } internal bool ChangeValue(int bit, bool value) { for (;;) { int oldData = _data; int newData; if (value) { newData = oldData | bit; } else { newData = oldData & ~bit; } if (oldData == newData) { return false; } #pragma warning disable 0420 int result = Interlocked.CompareExchange(ref _data, newData, oldData); #pragma warning restore 0420 if (result == oldData) { return true; } } } } } // 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
- SimpleMailWebEventProvider.cs
- Decorator.cs
- EditCommandColumn.cs
- DataSourceProvider.cs
- ViewRendering.cs
- SqlInternalConnectionSmi.cs
- GridViewEditEventArgs.cs
- ButtonField.cs
- GroupItem.cs
- MeasureItemEvent.cs
- CompareInfo.cs
- RtfControlWordInfo.cs
- embossbitmapeffect.cs
- XmlSchemaAnyAttribute.cs
- PeerCollaborationPermission.cs
- GlyphElement.cs
- ObjectConverter.cs
- GlyphRunDrawing.cs
- URLEditor.cs
- SerializationSectionGroup.cs
- SQLMembershipProvider.cs
- DSASignatureDeformatter.cs
- PrimaryKeyTypeConverter.cs
- Blend.cs
- MimeTypePropertyAttribute.cs
- BitmapSourceSafeMILHandle.cs
- BrowserCapabilitiesCompiler.cs
- ScaleTransform.cs
- ReachVisualSerializer.cs
- FileDialog.cs
- XMLUtil.cs
- MessageDecoder.cs
- NavigatorInvalidBodyAccessException.cs
- SelectionGlyphBase.cs
- PermissionSetEnumerator.cs
- TryCatchDesigner.xaml.cs
- Facet.cs
- CompositionTarget.cs
- HttpConfigurationSystem.cs
- IDictionary.cs
- ImageKeyConverter.cs
- OperationCanceledException.cs
- Opcode.cs
- _ConnectStream.cs
- FlowDocumentFormatter.cs
- IdnMapping.cs
- FixedSOMPageConstructor.cs
- RankException.cs
- MailWriter.cs
- Internal.cs
- WebPartHeaderCloseVerb.cs
- ListBoxItemWrapperAutomationPeer.cs
- InternalsVisibleToAttribute.cs
- SHA512.cs
- X509Certificate.cs
- DataIdProcessor.cs
- AssertSection.cs
- ToolboxDataAttribute.cs
- WebPartEditorCancelVerb.cs
- RedirectionProxy.cs
- _CookieModule.cs
- BreakRecordTable.cs
- HwndSourceParameters.cs
- HostingEnvironment.cs
- CacheSection.cs
- PerfService.cs
- UIElement3DAutomationPeer.cs
- DataGridItemEventArgs.cs
- VersionedStream.cs
- TimeManager.cs
- SafeSecurityHelper.cs
- ProjectionCamera.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- GeneralTransform3DGroup.cs
- DesignerActionService.cs
- XPathParser.cs
- ObjectSet.cs
- TextEditorCharacters.cs
- AuthenticateEventArgs.cs
- TypeConverter.cs
- COAUTHIDENTITY.cs
- SafeCloseHandleCritical.cs
- TextTreeText.cs
- MulticastDelegate.cs
- ByteStream.cs
- FormsAuthenticationUserCollection.cs
- ControlCachePolicy.cs
- ContractUtils.cs
- MethodBuilder.cs
- EndpointDiscoveryBehavior.cs
- ProfileBuildProvider.cs
- StylusTip.cs
- RepeatEnumerable.cs
- WsdlInspector.cs
- CqlQuery.cs
- DataMisalignedException.cs
- QilStrConcat.cs
- IImplicitResourceProvider.cs
- IndentedWriter.cs
- BuildProvider.cs