Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Net / System / Net / Mail / MultiAsyncResult.cs / 1 / MultiAsyncResult.cs
namespace System.Net.Mime { using System; internal class MultiAsyncResult : LazyAsyncResult { int outstanding; object context; internal MultiAsyncResult(object context, AsyncCallback callback, object state) : base(context,state,callback) { this.context = context; } internal object Context { get { return this.context; } } internal void Enter() { Increment(); } internal void Leave() { Decrement(); } internal void Leave(object result) { this.Result = result; Decrement(); } void Decrement() { if (System.Threading.Interlocked.Decrement(ref this.outstanding) == -1) { base.InvokeCallback(Result); } } void Increment() { System.Threading.Interlocked.Increment(ref this.outstanding); } internal void CompleteSequence() { Decrement(); } internal static object End(IAsyncResult result) { MultiAsyncResult thisPtr = (MultiAsyncResult)result; thisPtr.InternalWaitForCompletion(); return thisPtr.Result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Net.Mime { using System; internal class MultiAsyncResult : LazyAsyncResult { int outstanding; object context; internal MultiAsyncResult(object context, AsyncCallback callback, object state) : base(context,state,callback) { this.context = context; } internal object Context { get { return this.context; } } internal void Enter() { Increment(); } internal void Leave() { Decrement(); } internal void Leave(object result) { this.Result = result; Decrement(); } void Decrement() { if (System.Threading.Interlocked.Decrement(ref this.outstanding) == -1) { base.InvokeCallback(Result); } } void Increment() { System.Threading.Interlocked.Increment(ref this.outstanding); } internal void CompleteSequence() { Decrement(); } internal static object End(IAsyncResult result) { MultiAsyncResult thisPtr = (MultiAsyncResult)result; thisPtr.InternalWaitForCompletion(); return thisPtr.Result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TypeUsageBuilder.cs
- RijndaelManagedTransform.cs
- DetailsViewDeletedEventArgs.cs
- WindowShowOrOpenTracker.cs
- Compress.cs
- BaseTreeIterator.cs
- XPathAncestorQuery.cs
- DocumentOrderComparer.cs
- JoinCqlBlock.cs
- ConditionalDesigner.cs
- SqlStatistics.cs
- WizardStepBase.cs
- HtmlImage.cs
- ProcessProtocolHandler.cs
- COAUTHIDENTITY.cs
- ValidationHelper.cs
- AutoResizedEvent.cs
- NavigateEvent.cs
- XmlSerializerFactory.cs
- LexicalChunk.cs
- ProtocolInformationReader.cs
- GetPageCompletedEventArgs.cs
- ValueType.cs
- WebPartCatalogAddVerb.cs
- XmlQualifiedName.cs
- SessionStateContainer.cs
- SafeProcessHandle.cs
- CodeMethodInvokeExpression.cs
- CDSCollectionETWBCLProvider.cs
- FrugalList.cs
- linebase.cs
- SerialReceived.cs
- RuntimeHandles.cs
- TextTreeText.cs
- SafeEventLogWriteHandle.cs
- MasterPage.cs
- ConnectionsZoneDesigner.cs
- XmlNode.cs
- RadioButtonBaseAdapter.cs
- DebugManager.cs
- DateBoldEvent.cs
- ToolStripPanel.cs
- InputEventArgs.cs
- SocketInformation.cs
- LineBreak.cs
- infer.cs
- Attributes.cs
- GregorianCalendarHelper.cs
- SqlDependency.cs
- RuleSetDialog.Designer.cs
- GenericParameterDataContract.cs
- HttpAsyncResult.cs
- CollectionView.cs
- XsltSettings.cs
- BlockUIContainer.cs
- ProxyWebPartConnectionCollection.cs
- ConvertEvent.cs
- PenContexts.cs
- TripleDES.cs
- XmlSchemaObject.cs
- StorageComplexPropertyMapping.cs
- DocumentPageView.cs
- SmiContext.cs
- WsdlInspector.cs
- EventManager.cs
- HtmlInputFile.cs
- GenericUriParser.cs
- ItemMap.cs
- WebPartDescription.cs
- SingleTagSectionHandler.cs
- IPAddressCollection.cs
- RadioButtonStandardAdapter.cs
- CodeConditionStatement.cs
- dbdatarecord.cs
- securitycriticaldataformultiplegetandset.cs
- Composition.cs
- ValueTypeFixupInfo.cs
- WebSysDisplayNameAttribute.cs
- ExtentCqlBlock.cs
- SQLByte.cs
- backend.cs
- CatalogPartChrome.cs
- SeekableReadStream.cs
- IntermediatePolicyValidator.cs
- SessionStateUtil.cs
- SystemResourceHost.cs
- DataGridViewComboBoxCell.cs
- TraceFilter.cs
- HtmlHead.cs
- ResolveNameEventArgs.cs
- HtmlAnchor.cs
- TcpClientSocketManager.cs
- DataSourceCacheDurationConverter.cs
- ProcessThread.cs
- AutomationEventArgs.cs
- ProcessManager.cs
- TcpAppDomainProtocolHandler.cs
- LambdaSerializationException.cs
- Button.cs
- Misc.cs