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
- Schedule.cs
- ErrorLog.cs
- FtpRequestCacheValidator.cs
- DataBoundControlAdapter.cs
- InvokeAction.cs
- ReflectTypeDescriptionProvider.cs
- ServiceOperationDetailViewControl.cs
- SchemaCollectionCompiler.cs
- PropertyEmitterBase.cs
- FixedSOMPageElement.cs
- DataTableMappingCollection.cs
- XmlSerializerNamespaces.cs
- Hashtable.cs
- ColorConverter.cs
- SimpleApplicationHost.cs
- AsyncSerializedWorker.cs
- Debug.cs
- SchemaElementDecl.cs
- XPathPatternBuilder.cs
- MD5.cs
- MatrixIndependentAnimationStorage.cs
- ProxyWebPartManager.cs
- ComponentChangingEvent.cs
- XmlILStorageConverter.cs
- Guid.cs
- PageContentAsyncResult.cs
- StrokeSerializer.cs
- BinaryUtilClasses.cs
- JoinGraph.cs
- QualifiedCellIdBoolean.cs
- Peer.cs
- DynamicRenderer.cs
- ActiveXHost.cs
- DbConnectionPoolOptions.cs
- XPathItem.cs
- CompressEmulationStream.cs
- NullEntityWrapper.cs
- Tokenizer.cs
- CalendarAutoFormat.cs
- ListBoxItemWrapperAutomationPeer.cs
- StylusPointPropertyInfo.cs
- StorageRoot.cs
- WorkflowTransactionOptions.cs
- HtmlAnchor.cs
- CompleteWizardStep.cs
- ContentPresenter.cs
- AssemblyBuilder.cs
- GPPOINTF.cs
- UITypeEditor.cs
- HtmlGenericControl.cs
- PaperSize.cs
- MultiView.cs
- ChildTable.cs
- AlgoModule.cs
- PointUtil.cs
- SvcMapFileSerializer.cs
- RangeValuePattern.cs
- PaintEvent.cs
- ImmutableCommunicationTimeouts.cs
- ToolboxDataAttribute.cs
- WebExceptionStatus.cs
- SchemaTableColumn.cs
- Oid.cs
- ListView.cs
- InitializingNewItemEventArgs.cs
- StreamWriter.cs
- MachineSettingsSection.cs
- KeyEventArgs.cs
- Listbox.cs
- PhonemeEventArgs.cs
- EncryptedKeyIdentifierClause.cs
- IsolatedStorageFilePermission.cs
- GeneralTransform3DTo2DTo3D.cs
- SqlServices.cs
- CmsInterop.cs
- IgnoreDataMemberAttribute.cs
- SweepDirectionValidation.cs
- CommonDialog.cs
- IteratorDescriptor.cs
- PointCollectionConverter.cs
- Configuration.cs
- UpdateManifestForBrowserApplication.cs
- AnnotationAdorner.cs
- LinqDataSourceInsertEventArgs.cs
- SecurityImpersonationBehavior.cs
- TemplateGroupCollection.cs
- CachedFontFace.cs
- Endpoint.cs
- QueueNameHelper.cs
- EastAsianLunisolarCalendar.cs
- IPGlobalProperties.cs
- DataGridViewLayoutData.cs
- FixedElement.cs
- SmiEventSink_Default.cs
- ExecutionContext.cs
- OleDbErrorCollection.cs
- GeneralTransform2DTo3DTo2D.cs
- Transform.cs
- MemberNameValidator.cs
- ReflectionUtil.cs