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
- objectquery_tresulttype.cs
- DrawingAttributeSerializer.cs
- ResourcePermissionBase.cs
- TypeBuilder.cs
- PropertyKey.cs
- ApplicationDirectoryMembershipCondition.cs
- DataSourceHelper.cs
- StringUtil.cs
- BamlTreeNode.cs
- AsymmetricSignatureFormatter.cs
- KeyedQueue.cs
- FigureParaClient.cs
- NativeBuffer.cs
- EmissiveMaterial.cs
- BaseResourcesBuildProvider.cs
- MimeFormatter.cs
- ClientFormsAuthenticationMembershipProvider.cs
- _TransmitFileOverlappedAsyncResult.cs
- SpotLight.cs
- ElementMarkupObject.cs
- TraceContextEventArgs.cs
- WrappedKeySecurityToken.cs
- CompiledIdentityConstraint.cs
- AdRotatorDesigner.cs
- hresults.cs
- RecordConverter.cs
- UnknownBitmapDecoder.cs
- PenThreadWorker.cs
- PerformanceCounterPermission.cs
- EDesignUtil.cs
- TrailingSpaceComparer.cs
- TextServicesDisplayAttributePropertyRanges.cs
- MasterPageParser.cs
- FlowchartDesignerCommands.cs
- ManagementObjectSearcher.cs
- ActivationArguments.cs
- Messages.cs
- ScaleTransform.cs
- QilParameter.cs
- ProfileInfo.cs
- InvariantComparer.cs
- ConfigXmlSignificantWhitespace.cs
- PointCollection.cs
- SettingsPropertyValueCollection.cs
- BufferModeSettings.cs
- EntityRecordInfo.cs
- BrushValueSerializer.cs
- _TLSstream.cs
- DbModificationClause.cs
- ListSortDescription.cs
- IPCCacheManager.cs
- StopStoryboard.cs
- Hashtable.cs
- AsyncStreamReader.cs
- Pkcs9Attribute.cs
- Encoder.cs
- WinFormsSecurity.cs
- BindingNavigator.cs
- CompilationRelaxations.cs
- CreatingCookieEventArgs.cs
- CodeTypeReference.cs
- StaticDataManager.cs
- DirtyTextRange.cs
- ConfigXmlAttribute.cs
- SecurityDocument.cs
- DetailsViewPageEventArgs.cs
- ScrollableControl.cs
- PostBackOptions.cs
- CultureInfoConverter.cs
- MessageSmuggler.cs
- DataTableCollection.cs
- Vector3DCollectionConverter.cs
- SchemaElementLookUpTable.cs
- FontStretches.cs
- VisualBrush.cs
- QilFunction.cs
- UIElementParaClient.cs
- RequestNavigateEventArgs.cs
- TextServicesHost.cs
- ComponentEditorForm.cs
- MarkupObject.cs
- UserPreferenceChangingEventArgs.cs
- GifBitmapEncoder.cs
- BulletDecorator.cs
- Compiler.cs
- DoubleUtil.cs
- WebBrowserEvent.cs
- CodeVariableReferenceExpression.cs
- FastEncoder.cs
- Rfc2898DeriveBytes.cs
- ConfigurationValidatorBase.cs
- TypeNameParser.cs
- MouseGesture.cs
- RegexRunnerFactory.cs
- DataGridViewButtonColumn.cs
- XmlTextAttribute.cs
- TypeInitializationException.cs
- Viewport3DVisual.cs
- RegionInfo.cs
- UnsafeNativeMethods.cs