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
- XmlSchemaDocumentation.cs
- SimpleTextLine.cs
- DataGrid.cs
- ChangesetResponse.cs
- UriTemplateTableMatchCandidate.cs
- InvalidDataException.cs
- Marshal.cs
- ExpressionVisitor.cs
- CFStream.cs
- XmlElementAttributes.cs
- XmlnsCompatibleWithAttribute.cs
- returneventsaver.cs
- MachineKeySection.cs
- TimelineCollection.cs
- Sequence.cs
- OSFeature.cs
- MatrixIndependentAnimationStorage.cs
- OutOfMemoryException.cs
- HttpRuntime.cs
- EventProviderTraceListener.cs
- IIS7WorkerRequest.cs
- FormsAuthenticationConfiguration.cs
- PageFunction.cs
- RoleService.cs
- Transform3DGroup.cs
- LinearGradientBrush.cs
- ParserStreamGeometryContext.cs
- WindowsFormsHelpers.cs
- TreeView.cs
- BrowsableAttribute.cs
- BreakRecordTable.cs
- PropertyMetadata.cs
- DataGridViewTopRowAccessibleObject.cs
- translator.cs
- WebControlParameterProxy.cs
- SubstitutionList.cs
- PersonalizationAdministration.cs
- ActivityCollectionMarkupSerializer.cs
- ActivationServices.cs
- RelatedCurrencyManager.cs
- LocationInfo.cs
- HelpInfo.cs
- LockRenewalTask.cs
- PartialList.cs
- AppDomainShutdownMonitor.cs
- SoapEnumAttribute.cs
- AppDomain.cs
- RemotingService.cs
- OutputCacheSettingsSection.cs
- returneventsaver.cs
- XmlValidatingReader.cs
- serverconfig.cs
- MustUnderstandSoapException.cs
- NavigationProgressEventArgs.cs
- LineGeometry.cs
- GridViewRow.cs
- VsPropertyGrid.cs
- NamespaceInfo.cs
- CodeSubDirectoriesCollection.cs
- DrawingAttributeSerializer.cs
- FontStretches.cs
- WindowsMenu.cs
- GacUtil.cs
- ResourceBinder.cs
- FlowDocumentReader.cs
- WebPageTraceListener.cs
- CustomAttributeBuilder.cs
- VisualBrush.cs
- StateRuntime.cs
- ComplexBindingPropertiesAttribute.cs
- MappingException.cs
- VolatileEnlistmentMultiplexing.cs
- PropertyGridCommands.cs
- ScrollProviderWrapper.cs
- ArithmeticException.cs
- LinqDataSourceContextEventArgs.cs
- TextRangeProviderWrapper.cs
- SelectiveScrollingGrid.cs
- DoubleConverter.cs
- documentsequencetextpointer.cs
- PerfCounters.cs
- LicFileLicenseProvider.cs
- Ref.cs
- ProcessHostMapPath.cs
- HtmlInputCheckBox.cs
- SweepDirectionValidation.cs
- XmlSchemaAny.cs
- Int32Rect.cs
- ParsedAttributeCollection.cs
- HeaderUtility.cs
- DelegatedStream.cs
- TableLayoutColumnStyleCollection.cs
- XsdCachingReader.cs
- _AutoWebProxyScriptWrapper.cs
- TemplateInstanceAttribute.cs
- GenerateDerivedKeyRequest.cs
- PostBackTrigger.cs
- TextureBrush.cs
- AnnotationDocumentPaginator.cs
- BitmapScalingModeValidation.cs