Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- XmlObjectSerializerWriteContextComplex.cs
- ResourceExpressionBuilder.cs
- BamlRecords.cs
- WeakReference.cs
- JoinSymbol.cs
- ModuleBuilder.cs
- PropertyMap.cs
- GenericTypeParameterBuilder.cs
- AlignmentXValidation.cs
- TypeReference.cs
- SqlNotificationRequest.cs
- WebHttpDispatchOperationSelector.cs
- ViewDesigner.cs
- SyntaxCheck.cs
- RoleGroup.cs
- PerfCounters.cs
- TextEncodedRawTextWriter.cs
- SqlUtils.cs
- ConfigurationConverterBase.cs
- XmlRawWriterWrapper.cs
- SqlError.cs
- GeometryCollection.cs
- ToolBarButtonClickEvent.cs
- CategoryGridEntry.cs
- formatter.cs
- XmlParserContext.cs
- newinstructionaction.cs
- DataControlField.cs
- TableRowCollection.cs
- PasswordTextNavigator.cs
- ActivationArguments.cs
- Int16KeyFrameCollection.cs
- HotSpotCollection.cs
- CodeObject.cs
- BindingExpressionBase.cs
- Point3DAnimationBase.cs
- LocalizedNameDescriptionPair.cs
- TextMetrics.cs
- GlobalProxySelection.cs
- RemoteWebConfigurationHostServer.cs
- HandlerWithFactory.cs
- PropertyCollection.cs
- SecurityProtocol.cs
- RadioButton.cs
- XAMLParseException.cs
- TableLayoutPanelBehavior.cs
- DataGridCellInfo.cs
- RelationshipEndCollection.cs
- SmtpClient.cs
- ExpandCollapseIsCheckedConverter.cs
- X509SubjectKeyIdentifierClause.cs
- NumericPagerField.cs
- ListViewEditEventArgs.cs
- ClickablePoint.cs
- ChangeNode.cs
- XmlSortKeyAccumulator.cs
- TransformCollection.cs
- IResourceProvider.cs
- IisTraceListener.cs
- IApplicationTrustManager.cs
- FieldNameLookup.cs
- GridItemCollection.cs
- LogLogRecordEnumerator.cs
- TreeNodeMouseHoverEvent.cs
- RadioButtonFlatAdapter.cs
- OletxTransactionManager.cs
- AutomationElementCollection.cs
- RawTextInputReport.cs
- AbandonedMutexException.cs
- FileSystemWatcher.cs
- WindowHideOrCloseTracker.cs
- ConfigurationLockCollection.cs
- DataFieldCollectionEditor.cs
- FormView.cs
- SimpleRecyclingCache.cs
- WebHttpDispatchOperationSelector.cs
- basemetadatamappingvisitor.cs
- DataControlFieldCell.cs
- CultureMapper.cs
- UiaCoreApi.cs
- ListParaClient.cs
- StorageEndPropertyMapping.cs
- ContactManager.cs
- SafeNativeMethods.cs
- LineProperties.cs
- DEREncoding.cs
- ControlPropertyNameConverter.cs
- securitymgrsite.cs
- XmlSchemaAttribute.cs
- WebPartAuthorizationEventArgs.cs
- TreeNodeClickEventArgs.cs
- FormViewUpdateEventArgs.cs
- UnescapedXmlDiagnosticData.cs
- StylusPoint.cs
- FormViewUpdatedEventArgs.cs
- XmlSortKeyAccumulator.cs
- HttpModuleCollection.cs
- _HTTPDateParse.cs
- OneOfScalarConst.cs
- ConfigDefinitionUpdates.cs