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
- hwndwrapper.cs
- UnicastIPAddressInformationCollection.cs
- ObjectIDGenerator.cs
- WindowsEditBoxRange.cs
- QualificationDataItem.cs
- keycontainerpermission.cs
- SqlClientWrapperSmiStreamChars.cs
- ClockGroup.cs
- WebPartMinimizeVerb.cs
- ReadingWritingEntityEventArgs.cs
- SqlNamer.cs
- ReferentialConstraint.cs
- HebrewCalendar.cs
- TraceContextRecord.cs
- InternalCompensate.cs
- ContainsRowNumberChecker.cs
- BaseUriHelper.cs
- CellTreeNode.cs
- PointAnimationUsingPath.cs
- MenuScrollingVisibilityConverter.cs
- NetworkCredential.cs
- ETagAttribute.cs
- CompilerTypeWithParams.cs
- Transform3DGroup.cs
- SqlFactory.cs
- EventHandlerList.cs
- PaperSize.cs
- SHA1Managed.cs
- BindingUtils.cs
- DataControlFieldHeaderCell.cs
- MenuItemStyle.cs
- PictureBoxDesigner.cs
- GridProviderWrapper.cs
- DetailsViewRowCollection.cs
- SystemPens.cs
- Pool.cs
- NominalTypeEliminator.cs
- sitestring.cs
- OracleFactory.cs
- QilStrConcatenator.cs
- StorageScalarPropertyMapping.cs
- ListViewTableCell.cs
- InkPresenterAutomationPeer.cs
- XamlReaderConstants.cs
- SqlConnectionStringBuilder.cs
- Automation.cs
- InheritablePropertyChangeInfo.cs
- Rotation3DAnimationUsingKeyFrames.cs
- Delegate.cs
- Drawing.cs
- FragmentQuery.cs
- WebPartDisplayModeCancelEventArgs.cs
- SessionState.cs
- SystemInfo.cs
- HostUtils.cs
- SectionUpdates.cs
- Expressions.cs
- WorkflowControlClient.cs
- ScalarType.cs
- CustomAttributeFormatException.cs
- AdornerHitTestResult.cs
- ClientCredentialsElement.cs
- DataGridViewCellCollection.cs
- CancelAsyncOperationRequest.cs
- ProgressBar.cs
- OrderedEnumerableRowCollection.cs
- MobileControlPersister.cs
- MD5CryptoServiceProvider.cs
- StreamingContext.cs
- WebMessageEncodingBindingElement.cs
- Mapping.cs
- FocusChangedEventArgs.cs
- FlowDocumentScrollViewer.cs
- PageThemeBuildProvider.cs
- DesignSurfaceServiceContainer.cs
- IPipelineRuntime.cs
- DataGridViewLinkColumn.cs
- RootBrowserWindowProxy.cs
- StandardCommands.cs
- XmlReaderSettings.cs
- TileBrush.cs
- ObjectCache.cs
- RequestSecurityTokenForGetBrowserToken.cs
- XamlStyleSerializer.cs
- _FtpControlStream.cs
- DataServiceClientException.cs
- OdbcConnectionPoolProviderInfo.cs
- DesignColumnCollection.cs
- StatusStrip.cs
- CalendarDateRangeChangingEventArgs.cs
- DataShape.cs
- NegotiateStream.cs
- SpellerStatusTable.cs
- AccessDataSourceView.cs
- EncodingInfo.cs
- DPTypeDescriptorContext.cs
- DataTablePropertyDescriptor.cs
- TextSelectionHelper.cs
- TraceHandler.cs
- KnownTypesHelper.cs