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
- ContextDataSourceView.cs
- XPathNodeList.cs
- AccessDataSourceWizardForm.cs
- ListViewEditEventArgs.cs
- XPathNodePointer.cs
- MetafileEditor.cs
- designeractionlistschangedeventargs.cs
- ModuleBuilder.cs
- XmlValidatingReader.cs
- FirstMatchCodeGroup.cs
- WriteFileContext.cs
- Container.cs
- MobileControlsSection.cs
- HandlerBase.cs
- BuiltInExpr.cs
- ColumnResult.cs
- ArrangedElement.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- ImageListImageEditor.cs
- ApplyImportsAction.cs
- BulletedListDesigner.cs
- CatalogPart.cs
- AddInContractAttribute.cs
- TypeDescriptor.cs
- CngUIPolicy.cs
- StylusPointDescription.cs
- shaperfactory.cs
- QueryReaderSettings.cs
- XamlGridLengthSerializer.cs
- WindowsProgressbar.cs
- UnsafeNativeMethods.cs
- WaitForChangedResult.cs
- PenCursorManager.cs
- TransportChannelFactory.cs
- EnumerableRowCollection.cs
- VolatileEnlistmentMultiplexing.cs
- DigitShape.cs
- HighlightVisual.cs
- TypedMessageConverter.cs
- OleDbErrorCollection.cs
- ListViewDeletedEventArgs.cs
- ImageAutomationPeer.cs
- XmlRootAttribute.cs
- XmlDataSourceNodeDescriptor.cs
- hwndwrapper.cs
- ValidatorCompatibilityHelper.cs
- CodeTypeDeclarationCollection.cs
- ModulesEntry.cs
- FixedPageProcessor.cs
- Point3DCollection.cs
- HostProtectionException.cs
- TemplateNameScope.cs
- LinkedList.cs
- InternalCache.cs
- VisualStyleRenderer.cs
- Validator.cs
- DeploymentSection.cs
- AppDomainInstanceProvider.cs
- SystemDropShadowChrome.cs
- DocumentApplicationJournalEntry.cs
- ImageSourceConverter.cs
- CheckBoxBaseAdapter.cs
- BCLDebug.cs
- FixedHyperLink.cs
- ViewStateException.cs
- WebException.cs
- BooleanStorage.cs
- Domain.cs
- BitSet.cs
- ProfileModule.cs
- PointAnimation.cs
- ConditionalAttribute.cs
- XmlSchemaSimpleTypeRestriction.cs
- ChannelBase.cs
- GlyphTypeface.cs
- DrawListViewItemEventArgs.cs
- ReliableReplySessionChannel.cs
- ProcessHostMapPath.cs
- ColorTransform.cs
- BamlBinaryReader.cs
- Marshal.cs
- __ConsoleStream.cs
- SrgsGrammar.cs
- ButtonChrome.cs
- InvalidCastException.cs
- SortedList.cs
- ScriptManager.cs
- OpacityConverter.cs
- ExpressionEditor.cs
- SecurityPolicySection.cs
- WindowsContainer.cs
- IdentityManager.cs
- StateManagedCollection.cs
- ValidatorCompatibilityHelper.cs
- ParseElement.cs
- FileClassifier.cs
- CFGGrammar.cs
- TaiwanCalendar.cs
- TrailingSpaceComparer.cs
- ListViewContainer.cs