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
- TreeViewItemAutomationPeer.cs
- MouseActionValueSerializer.cs
- Site.cs
- NotSupportedException.cs
- ExceptionNotification.cs
- SafeHandles.cs
- HtmlInputFile.cs
- BindingNavigator.cs
- ScrollContentPresenter.cs
- CngKey.cs
- FieldNameLookup.cs
- RegexRunner.cs
- DataGridViewCellEventArgs.cs
- ValidationSummary.cs
- HttpConfigurationSystem.cs
- SystemWebExtensionsSectionGroup.cs
- XamlToRtfParser.cs
- AdCreatedEventArgs.cs
- Padding.cs
- WmfPlaceableFileHeader.cs
- Ticks.cs
- MSAANativeProvider.cs
- DataGridItemEventArgs.cs
- MissingSatelliteAssemblyException.cs
- SystemIPAddressInformation.cs
- GeometryHitTestResult.cs
- Conditional.cs
- CodeNamespace.cs
- COM2IPerPropertyBrowsingHandler.cs
- StringFunctions.cs
- UnmanagedMemoryStream.cs
- BindingCompleteEventArgs.cs
- UserValidatedEventArgs.cs
- DoubleIndependentAnimationStorage.cs
- ModuleBuilderData.cs
- XmlSortKey.cs
- SqlConnectionManager.cs
- XmlUrlResolver.cs
- UICuesEvent.cs
- XPathNodeIterator.cs
- DataColumn.cs
- ComponentConverter.cs
- AuthenticationSection.cs
- ByteKeyFrameCollection.cs
- MdImport.cs
- WmpBitmapEncoder.cs
- PtsCache.cs
- ListViewItem.cs
- InputScopeNameConverter.cs
- DynamicResourceExtensionConverter.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- SelectionBorderGlyph.cs
- MultiAsyncResult.cs
- DiscreteKeyFrames.cs
- NetWebProxyFinder.cs
- WebPartsPersonalizationAuthorization.cs
- HiddenFieldPageStatePersister.cs
- ServiceNotStartedException.cs
- IncrementalCompileAnalyzer.cs
- FilteredAttributeCollection.cs
- PointCollection.cs
- ToolStripOverflowButton.cs
- HandledMouseEvent.cs
- basevalidator.cs
- SecUtil.cs
- RouteValueDictionary.cs
- DbProviderFactories.cs
- CallbackValidator.cs
- Triangle.cs
- MenuCommandService.cs
- XmlName.cs
- ExpressionEvaluator.cs
- WorkflowTimerService.cs
- Pair.cs
- WebExceptionStatus.cs
- SignerInfo.cs
- TemplateLookupAction.cs
- ScaleTransform3D.cs
- FixedFindEngine.cs
- TraceSection.cs
- DataGridViewLinkCell.cs
- ObjectSet.cs
- InternalsVisibleToAttribute.cs
- SystemThemeKey.cs
- RectKeyFrameCollection.cs
- formatter.cs
- MachineKeySection.cs
- IIS7UserPrincipal.cs
- TypeLibConverter.cs
- ComponentChangingEvent.cs
- ComponentResourceManager.cs
- Error.cs
- RequestCache.cs
- SqlConnection.cs
- ChainOfResponsibility.cs
- NumericExpr.cs
- ProfilePropertyMetadata.cs
- X509Logo.cs
- EventLogEntry.cs
- DataSourceViewSchemaConverter.cs