Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- TreeNodeConverter.cs
- ToolStripDesignerAvailabilityAttribute.cs
- WindowsScroll.cs
- ViewValidator.cs
- Latin1Encoding.cs
- GenericPrincipal.cs
- StrongNameKeyPair.cs
- Style.cs
- SortedList.cs
- TextPointer.cs
- Common.cs
- MenuItem.cs
- AttributeEmitter.cs
- MultitargetingHelpers.cs
- WebZone.cs
- QualifiedId.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- DateBoldEvent.cs
- CreateUserWizard.cs
- PropertyInfoSet.cs
- XsdBuilder.cs
- FontDriver.cs
- IChannel.cs
- SettingsPropertyValueCollection.cs
- TimeSpan.cs
- DbTransaction.cs
- Publisher.cs
- WorkflowRuntimeBehavior.cs
- ConfigXmlAttribute.cs
- TabControlCancelEvent.cs
- StylusDevice.cs
- MissingFieldException.cs
- DecoderExceptionFallback.cs
- UnsafeNetInfoNativeMethods.cs
- TemplateControl.cs
- XmlElement.cs
- BlockCollection.cs
- SqlWebEventProvider.cs
- DataGridViewLinkCell.cs
- ConstraintEnumerator.cs
- DataGridItemCollection.cs
- TextEffectCollection.cs
- DesignerDataSourceView.cs
- ProtocolViolationException.cs
- Int16Storage.cs
- FileRecordSequenceCompletedAsyncResult.cs
- Scene3D.cs
- EditingCoordinator.cs
- PtsPage.cs
- WindowsStatic.cs
- ListBoxItemAutomationPeer.cs
- CommandManager.cs
- PathFigureCollectionValueSerializer.cs
- AndCondition.cs
- RecognizerBase.cs
- FileSystemInfo.cs
- StringBuilder.cs
- CngKey.cs
- ObjectQuery.cs
- XPathNodeList.cs
- SkewTransform.cs
- UserControlAutomationPeer.cs
- EmissiveMaterial.cs
- XNodeValidator.cs
- QueryResultOp.cs
- CounterSampleCalculator.cs
- Maps.cs
- EventLogTraceListener.cs
- DrawingContextFlattener.cs
- BindingCollection.cs
- BitmapEffectInput.cs
- PerfService.cs
- ParallelTimeline.cs
- ColorConvertedBitmap.cs
- TextContainer.cs
- ComponentCodeDomSerializer.cs
- userdatakeys.cs
- CodeNamespaceImport.cs
- DictionaryChange.cs
- HtmlHistory.cs
- Int16AnimationBase.cs
- ExtractorMetadata.cs
- PerformanceCounterPermission.cs
- RequestQueue.cs
- BatchParser.cs
- ColorPalette.cs
- QuaternionAnimation.cs
- Stream.cs
- ToggleProviderWrapper.cs
- GestureRecognizer.cs
- RoutedEventArgs.cs
- ErrorEventArgs.cs
- EmbeddedMailObjectsCollection.cs
- BuildResult.cs
- DrawingCollection.cs
- HostingEnvironmentException.cs
- TimeSpanParse.cs
- ResourceType.cs
- Aggregates.cs
- GridViewColumnCollection.cs