Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Threading / LockCookie.cs / 1305376 / 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
- PreviewPageInfo.cs
- ServiceMemoryGates.cs
- WasAdminWrapper.cs
- HierarchicalDataBoundControl.cs
- DuplicateContext.cs
- TransformCryptoHandle.cs
- StateItem.cs
- DefaultMergeHelper.cs
- HtmlSelect.cs
- Composition.cs
- SessionStateItemCollection.cs
- ToolStripItemCollection.cs
- EntityDesignerDataSourceView.cs
- DataListCommandEventArgs.cs
- ImageAutomationPeer.cs
- PrinterUnitConvert.cs
- DbConnectionPool.cs
- Solver.cs
- ThreadPool.cs
- AudioDeviceOut.cs
- SelectorAutomationPeer.cs
- ExtensionFile.cs
- DataListItemCollection.cs
- BulletedList.cs
- HtmlElementCollection.cs
- EpmCustomContentSerializer.cs
- SqlConnectionFactory.cs
- StringPropertyBuilder.cs
- Parallel.cs
- TracingConnectionInitiator.cs
- TypedTableBase.cs
- adornercollection.cs
- PathHelper.cs
- CommandLineParser.cs
- ReliableOutputSessionChannel.cs
- Icon.cs
- StrongName.cs
- AmbiguousMatchException.cs
- PaperSize.cs
- InputBinding.cs
- XamlVector3DCollectionSerializer.cs
- HealthMonitoringSectionHelper.cs
- Sentence.cs
- SafeEventLogReadHandle.cs
- DesignTableCollection.cs
- Base64Encoding.cs
- _ServiceNameStore.cs
- MsmqIntegrationChannelFactory.cs
- ClientFormsAuthenticationCredentials.cs
- JulianCalendar.cs
- SettingsPropertyCollection.cs
- RemoteHelper.cs
- PasswordBoxAutomationPeer.cs
- XmlName.cs
- XhtmlTextWriter.cs
- ExpandoClass.cs
- NameValueCollection.cs
- WorkflowPersistenceService.cs
- DataSourceSelectArguments.cs
- ToolStripRendererSwitcher.cs
- SmiXetterAccessMap.cs
- Roles.cs
- View.cs
- QilInvoke.cs
- KeyedCollection.cs
- XmlNodeComparer.cs
- CollectionView.cs
- SymbolEqualComparer.cs
- XmlAttributeOverrides.cs
- ListParaClient.cs
- InfoCardKeyedHashAlgorithm.cs
- Int32RectConverter.cs
- WindowsAltTab.cs
- Internal.cs
- XmlSchemaComplexContentExtension.cs
- CodeStatementCollection.cs
- RemotingServices.cs
- UnsafeNativeMethods.cs
- Endpoint.cs
- ThemeDictionaryExtension.cs
- InputLanguageEventArgs.cs
- EmptyReadOnlyDictionaryInternal.cs
- XmlDeclaration.cs
- KeysConverter.cs
- RegexRunnerFactory.cs
- CompiledQuery.cs
- DragAssistanceManager.cs
- NavigationProperty.cs
- NegotiateStream.cs
- ReflectionTypeLoadException.cs
- CfgArc.cs
- ApplicationServiceHelper.cs
- CodeIndexerExpression.cs
- WorkflowDesignerColors.cs
- RemoteWebConfigurationHostServer.cs
- QuadraticBezierSegment.cs
- HttpApplicationFactory.cs
- XmlWrappingReader.cs
- WsatServiceCertificate.cs
- SqlDataSourceTableQuery.cs