Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / RunTime / ExecutorLocksHeldException.cs / 1305376 / ExecutorLocksHeldException.cs
// **************************************************************************** // Copyright (C) 2000-2001 Microsoft Corporation. All rights reserved. // // CONTENTS // Workflow Base exception class // // DESCRIPTION // Base class for WINOE Runtime engine exception // // REVISIONS // Date Ver By Remarks // ~~~~~~~~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~~~~~ // 03/08/01 1.0 [....] Created. // *************************************************************************** using System; using System.Runtime.Serialization; using System.Security.Permissions; using System.Collections.Generic; using System.Globalization; using System.Threading; using System.Workflow; using System.Workflow.Runtime; using System.Workflow.ComponentModel; namespace System.Workflow.Runtime { /* * The Unload() method has been changed so that * any Unload requests made while in the middle of an atomic * transaction wait for the atomic transaction to complete. * This makes use of an ManualResetEvent. Unload() waits on the event: * theEvent.WaitOne() * But waiting with the executor and scheduler locks held * will block everything else. * * The solution is to have a custom internal exception class that has the * ManualResetEvent as an internal property. If Unload() finds itself in the middle * of an atomic transaction, it throws the Exception. The Exception is propogated upwards * until we reach the method that was the first to grab the executor lock. * * We then drop that lock and wait on the event handle. As soon as the handle is * Set() by DisposeTransaction(), we grab the executor lock and do everything all over. */ internal class ExecutorLocksHeldException : Exception { private ManualResetEvent handle; public ExecutorLocksHeldException(ManualResetEvent handle) { this.handle = handle; } internal ManualResetEvent Handle { get { return handle; } } } } // 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
- GridViewCancelEditEventArgs.cs
- ObjectRef.cs
- DataGridRelationshipRow.cs
- ToolStripControlHost.cs
- UpdateDelegates.Generated.cs
- NgenServicingAttributes.cs
- ObjectViewEntityCollectionData.cs
- DataBindingExpressionBuilder.cs
- VariantWrapper.cs
- PasswordBoxAutomationPeer.cs
- KeyValueConfigurationElement.cs
- ThumbButtonInfoCollection.cs
- ClockGroup.cs
- XmlSchemaImporter.cs
- XslException.cs
- ConfigXmlSignificantWhitespace.cs
- Image.cs
- ImageSourceValueSerializer.cs
- AnimatedTypeHelpers.cs
- Brushes.cs
- TypedTableBase.cs
- DbDeleteCommandTree.cs
- Brushes.cs
- ContractCodeDomInfo.cs
- SqlWriter.cs
- FontInfo.cs
- DesignTimeParseData.cs
- DateTimeFormatInfoScanner.cs
- ArrangedElement.cs
- HTMLTagNameToTypeMapper.cs
- WindowHideOrCloseTracker.cs
- EntityModelSchemaGenerator.cs
- SemanticAnalyzer.cs
- StructuralCache.cs
- NumberAction.cs
- CommandLibraryHelper.cs
- RotateTransform3D.cs
- Attributes.cs
- DbgCompiler.cs
- RadioButtonRenderer.cs
- WindowsRegion.cs
- ArithmeticException.cs
- SerializationEventsCache.cs
- MILUtilities.cs
- SettingsContext.cs
- GradientStopCollection.cs
- XmlSchemaIdentityConstraint.cs
- ECDiffieHellmanCng.cs
- CompilerCollection.cs
- UnsafeMethods.cs
- CapabilitiesState.cs
- MatrixTransform.cs
- StateChangeEvent.cs
- DragEventArgs.cs
- EntityContainerEmitter.cs
- Trace.cs
- ListParagraph.cs
- OrderPreservingMergeHelper.cs
- DataGridViewCell.cs
- RoleManagerEventArgs.cs
- DirectoryObjectSecurity.cs
- WebServiceErrorEvent.cs
- NegationPusher.cs
- XmlSchemaImporter.cs
- ConfigurationSectionGroupCollection.cs
- SoapDocumentMethodAttribute.cs
- BehaviorEditorPart.cs
- BooleanKeyFrameCollection.cs
- ProcessHost.cs
- LogSwitch.cs
- DispatcherHooks.cs
- sqlmetadatafactory.cs
- WinEventHandler.cs
- HttpHandlerActionCollection.cs
- WinEventTracker.cs
- EdmEntityTypeAttribute.cs
- SystemWebCachingSectionGroup.cs
- ZipIOBlockManager.cs
- Parallel.cs
- TypeNameHelper.cs
- StopStoryboard.cs
- XmlIterators.cs
- CurrentTimeZone.cs
- MemberInitExpression.cs
- WebControlToolBoxItem.cs
- itemelement.cs
- TripleDES.cs
- XmlEntityReference.cs
- ItemChangedEventArgs.cs
- IdleTimeoutMonitor.cs
- BrowserTree.cs
- TypedTableBaseExtensions.cs
- BezierSegment.cs
- HtmlImage.cs
- SelectionEditor.cs
- ErrorWebPart.cs
- BuildProviderAppliesToAttribute.cs
- ViewStateException.cs
- SoundPlayerAction.cs
- XpsFixedPageReaderWriter.cs