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
- MultiBindingExpression.cs
- TypeBuilderInstantiation.cs
- PagedDataSource.cs
- ToolStripItemRenderEventArgs.cs
- SyndicationElementExtension.cs
- SpeakInfo.cs
- BaseTemplatedMobileComponentEditor.cs
- UserControlParser.cs
- _NegoState.cs
- DataBindingValueUIHandler.cs
- ProfileModule.cs
- XmlDigitalSignatureProcessor.cs
- GridItemPattern.cs
- SchemaEntity.cs
- TablePattern.cs
- ImplicitInputBrush.cs
- IPEndPoint.cs
- BamlLocalizableResource.cs
- Processor.cs
- RuleDefinitions.cs
- SpotLight.cs
- ComplexLine.cs
- BuildManager.cs
- PageAsyncTask.cs
- QilExpression.cs
- PasswordDeriveBytes.cs
- Vector3D.cs
- TrustSection.cs
- ScriptMethodAttribute.cs
- JsonDeserializer.cs
- UriPrefixTable.cs
- SrgsElement.cs
- PreservationFileReader.cs
- ViewStateModeByIdAttribute.cs
- MetadataArtifactLoader.cs
- TextCompositionManager.cs
- QilParameter.cs
- NavigationCommands.cs
- PathFigureCollection.cs
- MemberPath.cs
- RightsManagementUser.cs
- SynchronizedInputHelper.cs
- ClientSettingsStore.cs
- DataServiceStreamProviderWrapper.cs
- XsltException.cs
- Renderer.cs
- DataErrorValidationRule.cs
- PenThread.cs
- ValidatorCompatibilityHelper.cs
- SafeCryptoHandles.cs
- base64Transforms.cs
- DependencyObjectProvider.cs
- InstanceNameConverter.cs
- SrgsDocumentParser.cs
- FormattedTextSymbols.cs
- IconConverter.cs
- ConnectionStringSettings.cs
- SamlSubjectStatement.cs
- SkinBuilder.cs
- FieldBuilder.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- StackOverflowException.cs
- Pair.cs
- TemplatePropertyEntry.cs
- __ComObject.cs
- PackageRelationshipCollection.cs
- HitTestWithPointDrawingContextWalker.cs
- DataGridViewRowConverter.cs
- SqlInternalConnection.cs
- CodeIterationStatement.cs
- TypeCollectionPropertyEditor.cs
- DataGridViewColumnHeaderCell.cs
- WindowsStreamSecurityBindingElement.cs
- DescendantOverDescendantQuery.cs
- TableLayoutSettingsTypeConverter.cs
- Operator.cs
- Rectangle.cs
- DebugView.cs
- InlineUIContainer.cs
- SmtpDigestAuthenticationModule.cs
- SerializationEventsCache.cs
- WindowsListViewItem.cs
- MessageFilterException.cs
- SafeArrayTypeMismatchException.cs
- TraceListeners.cs
- BindingOperations.cs
- CodeBlockBuilder.cs
- RunClient.cs
- DynamicDocumentPaginator.cs
- VectorConverter.cs
- WebPartDisplayMode.cs
- XmlSchemaComplexContentRestriction.cs
- HitTestDrawingContextWalker.cs
- HeaderCollection.cs
- Link.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- StrokeNodeData.cs
- SerializationEventsCache.cs
- ReflectionServiceProvider.cs
- TabPanel.cs