Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- ControlBindingsCollection.cs
- FontNamesConverter.cs
- IDReferencePropertyAttribute.cs
- ComboBoxDesigner.cs
- RectangleGeometry.cs
- arc.cs
- LinqDataSourceContextEventArgs.cs
- AutoFocusStyle.xaml.cs
- EventHandlersStore.cs
- HttpContextServiceHost.cs
- MultiBindingExpression.cs
- TextEditorMouse.cs
- SecurityHelper.cs
- SpellerError.cs
- CallContext.cs
- DtrList.cs
- Boolean.cs
- DataColumnPropertyDescriptor.cs
- DataKeyArray.cs
- TextServicesManager.cs
- DirectoryInfo.cs
- NativeMethods.cs
- ProgressBar.cs
- HMAC.cs
- BinaryFormatterWriter.cs
- PlanCompilerUtil.cs
- TableItemPattern.cs
- TypeSource.cs
- Merger.cs
- SemaphoreSecurity.cs
- SimpleRecyclingCache.cs
- GridViewCellAutomationPeer.cs
- ManagedWndProcTracker.cs
- ArgumentOutOfRangeException.cs
- ToolStripGripRenderEventArgs.cs
- SqlComparer.cs
- ValidationHelper.cs
- FixedSOMPage.cs
- WindowsIdentity.cs
- CollectionType.cs
- dataSvcMapFileLoader.cs
- RelAssertionDirectKeyIdentifierClause.cs
- TextOnlyOutput.cs
- Cloud.cs
- ModelPropertyDescriptor.cs
- TrustLevelCollection.cs
- XmlNamespaceMappingCollection.cs
- TreeViewImageKeyConverter.cs
- FixedSOMLineCollection.cs
- UncommonField.cs
- Rule.cs
- CaseExpr.cs
- RemotingService.cs
- Margins.cs
- PageParserFilter.cs
- PathGeometry.cs
- EdmItemCollection.cs
- Clause.cs
- MenuItemAutomationPeer.cs
- CharacterBuffer.cs
- SqlDataSourceStatusEventArgs.cs
- PropertyTabAttribute.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- UserNameSecurityTokenProvider.cs
- UnionExpr.cs
- Schema.cs
- DataKeyCollection.cs
- ImageListUtils.cs
- RelationshipDetailsRow.cs
- TextTreeExtractElementUndoUnit.cs
- CTreeGenerator.cs
- CommandBinding.cs
- MsmqOutputChannel.cs
- DesignerTransaction.cs
- StringValidator.cs
- WindowsServiceCredential.cs
- BitmapMetadataBlob.cs
- DbDataSourceEnumerator.cs
- InvalidOperationException.cs
- VoiceInfo.cs
- DrawingImage.cs
- VersionConverter.cs
- WizardForm.cs
- RuntimeEnvironment.cs
- XamlContextStack.cs
- UnSafeCharBuffer.cs
- TextParaLineResult.cs
- ManagementScope.cs
- SafePointer.cs
- PackageProperties.cs
- Button.cs
- RegexParser.cs
- HealthMonitoringSectionHelper.cs
- IsolatedStorage.cs
- BuildProvider.cs
- IndexedWhereQueryOperator.cs
- NativeCppClassAttribute.cs
- Utils.cs
- ClientEventManager.cs
- XMLDiffLoader.cs