Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / Threading / LockCookie.cs / 1 / LockCookie.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: LockCookie ** ** ** Purpose: Defines the lock that implements ** single-writer/multiple-reader semantics ** ** ===========================================================*/ namespace System.Threading { using System; [System.Runtime.InteropServices.ComVisible(true)] public struct LockCookie { private int _dwFlags; private int _dwWriterSeqNum; private int _wReaderAndWriterLevel; private int _dwThreadID; public override int GetHashCode() { // review - [....]! return _dwFlags + _dwWriterSeqNum + _wReaderAndWriterLevel + _dwThreadID; } public override bool Equals(Object obj) { if (obj is LockCookie) return Equals((LockCookie)obj); else return false; } public bool Equals(LockCookie obj) { return obj._dwFlags == _dwFlags && obj._dwWriterSeqNum == _dwWriterSeqNum && obj._wReaderAndWriterLevel == _wReaderAndWriterLevel && obj._dwThreadID == _dwThreadID; } public static bool operator ==(LockCookie a, LockCookie b) { return a.Equals(b); } public static bool operator !=(LockCookie a, LockCookie b) { return !(a == b); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: LockCookie ** ** ** Purpose: Defines the lock that implements ** single-writer/multiple-reader semantics ** ** ===========================================================*/ namespace System.Threading { using System; [System.Runtime.InteropServices.ComVisible(true)] public struct LockCookie { private int _dwFlags; private int _dwWriterSeqNum; private int _wReaderAndWriterLevel; private int _dwThreadID; public override int GetHashCode() { // review - [....]! return _dwFlags + _dwWriterSeqNum + _wReaderAndWriterLevel + _dwThreadID; } public override bool Equals(Object obj) { if (obj is LockCookie) return Equals((LockCookie)obj); else return false; } public bool Equals(LockCookie obj) { return obj._dwFlags == _dwFlags && obj._dwWriterSeqNum == _dwWriterSeqNum && obj._wReaderAndWriterLevel == _wReaderAndWriterLevel && obj._dwThreadID == _dwThreadID; } public static bool operator ==(LockCookie a, LockCookie b) { return a.Equals(b); } public static bool operator !=(LockCookie a, LockCookie b) { return !(a == b); } } } // 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
- EntityWithKeyStrategy.cs
- MultiAsyncResult.cs
- AssemblyCacheEntry.cs
- RangeValidator.cs
- XmlEnumAttribute.cs
- CodeTypeReferenceCollection.cs
- ConstructorNeedsTagAttribute.cs
- ObjectQueryProvider.cs
- ClassicBorderDecorator.cs
- QilCloneVisitor.cs
- StylusSystemGestureEventArgs.cs
- TemplateBuilder.cs
- LocationSectionRecord.cs
- CacheOutputQuery.cs
- RuntimeResourceSet.cs
- QilInvokeLateBound.cs
- TimelineCollection.cs
- WorkflowPrinting.cs
- NamespaceEmitter.cs
- AmbientProperties.cs
- DataGridPageChangedEventArgs.cs
- StrongNameSignatureInformation.cs
- FlowDocumentFormatter.cs
- TraceSection.cs
- ContextMenu.cs
- DebuggerAttributes.cs
- CodeGenerator.cs
- PointLight.cs
- VScrollBar.cs
- XamlStream.cs
- SmtpNegotiateAuthenticationModule.cs
- KeyboardDevice.cs
- PolicyValidator.cs
- ProviderConnectionPoint.cs
- MetadataItemEmitter.cs
- WinInet.cs
- DecoderNLS.cs
- AmbientLight.cs
- externdll.cs
- DoubleMinMaxAggregationOperator.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- ToolBarOverflowPanel.cs
- Events.cs
- HttpApplicationFactory.cs
- CfgParser.cs
- ISCIIEncoding.cs
- RootBuilder.cs
- ListViewCancelEventArgs.cs
- ZipIOCentralDirectoryFileHeader.cs
- BaseConfigurationRecord.cs
- InitializationEventAttribute.cs
- SafeRightsManagementEnvironmentHandle.cs
- EvidenceTypeDescriptor.cs
- MemberJoinTreeNode.cs
- DirectoryNotFoundException.cs
- ControlBuilderAttribute.cs
- MetafileHeaderEmf.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- Subset.cs
- _StreamFramer.cs
- LayoutTable.cs
- BulletedListDesigner.cs
- HandleTable.cs
- DataGridCheckBoxColumn.cs
- MetadataElement.cs
- AmbientLight.cs
- HttpHandlersSection.cs
- ConfigPathUtility.cs
- DependencyObjectType.cs
- TemplateControlBuildProvider.cs
- Hashtable.cs
- ReadOnlyNameValueCollection.cs
- SelectionWordBreaker.cs
- LayoutTable.cs
- StringInfo.cs
- XmlEntity.cs
- SQLBoolean.cs
- LayoutSettings.cs
- SatelliteContractVersionAttribute.cs
- PrintDialog.cs
- SharedStatics.cs
- XPathDocumentBuilder.cs
- LookupBindingPropertiesAttribute.cs
- SharedRuntimeState.cs
- MemberInfoSerializationHolder.cs
- AttributeProviderAttribute.cs
- EditingMode.cs
- RtfControls.cs
- MimeTypeAttribute.cs
- SystemResourceHost.cs
- DoubleConverter.cs
- UmAlQuraCalendar.cs
- Point3DCollectionConverter.cs
- AmbientProperties.cs
- XmlSerializationReader.cs
- StandardToolWindows.cs
- FixedPageAutomationPeer.cs
- PropertyPathWorker.cs
- DataGridViewDataErrorEventArgs.cs
- Utils.cs