25 lines
1.0 KiB
C#
25 lines
1.0 KiB
C#
|
//
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//
|
||
|
|
||
|
namespace Microsoft.Singularity
|
||
|
{
|
||
|
using System;
|
||
|
|
||
|
// The kernel throws a ProcessStopException to stop the current
|
||
|
// thread (as part of stopping a whole process). This is not
|
||
|
// thrown asynchronously, because we don't want to abruptly interrupt
|
||
|
// the kernel's execution. Instead, it is thrown at well-defined
|
||
|
// points in the kernel: when the kernel blocks and when the kernel
|
||
|
// calls process code. When the ProcessStopException propagates
|
||
|
// up to the process's part of the stack, the exception handling
|
||
|
// skips over the process's stack frames and continues propagating
|
||
|
// the ProcessStopException in the kernel.
|
||
|
public class ProcessStopException : SystemException
|
||
|
{
|
||
|
public ProcessStopException() : base("Arg_ProcessStopException") {}
|
||
|
public ProcessStopException(String message) : base(message) {}
|
||
|
public ProcessStopException(String message, Exception inner) : base(message, inner) {}
|
||
|
}
|
||
|
}
|