116 lines
7.1 KiB
C#
116 lines
7.1 KiB
C#
using System;
|
||
using System.Runtime.InteropServices;
|
||
using System.Runtime.Serialization;
|
||
|
||
namespace System.Threading
|
||
{
|
||
/// <summary>The exception that is thrown when one thread acquires a <see cref="T:System.Threading.Mutex" /> object that another thread has abandoned by exiting without releasing it.</summary>
|
||
/// <filterpriority>1</filterpriority>
|
||
// Token: 0x02000606 RID: 1542
|
||
[ComVisible(false)]
|
||
[Serializable]
|
||
public class AbandonedMutexException : SystemException
|
||
{
|
||
/// <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException" /> class with default values.</summary>
|
||
// Token: 0x0600387D RID: 14461 RVA: 0x000C3B90 File Offset: 0x000C1D90
|
||
public AbandonedMutexException()
|
||
: base("Mutex was abandoned")
|
||
{
|
||
}
|
||
|
||
/// <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException" /> class with a specified error message.</summary>
|
||
/// <param name="message">An error message that explains the reason for the exception.</param>
|
||
// Token: 0x0600387E RID: 14462 RVA: 0x000C3BA4 File Offset: 0x000C1DA4
|
||
public AbandonedMutexException(string message)
|
||
: base(message)
|
||
{
|
||
}
|
||
|
||
/// <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException" /> class with a specified index for the abandoned mutex, if applicable, and a <see cref="T:System.Threading.Mutex" /> object that represents the mutex.</summary>
|
||
/// <param name="location">The index of the abandoned mutex in the array of wait handles if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitAny" /> method, or –1 if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitOne" /> or <see cref="Overload:System.Threading.WaitHandle.WaitAll" /> methods.</param>
|
||
/// <param name="handle">A <see cref="T:System.Threading.Mutex" /> object that represents the abandoned mutex.</param>
|
||
// Token: 0x0600387F RID: 14463 RVA: 0x000C3BB4 File Offset: 0x000C1DB4
|
||
public AbandonedMutexException(int location, WaitHandle handle)
|
||
: base("Mutex was abandoned")
|
||
{
|
||
this.mutex_index = location;
|
||
this.mutex = handle as Mutex;
|
||
}
|
||
|
||
/// <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException" /> class with serialized data.</summary>
|
||
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object that holds the serialized object data about the exception being thrown. </param>
|
||
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> object that contains contextual information about the source or destination.</param>
|
||
// Token: 0x06003880 RID: 14464 RVA: 0x000C3BDC File Offset: 0x000C1DDC
|
||
protected AbandonedMutexException(SerializationInfo info, StreamingContext context)
|
||
: base(info, context)
|
||
{
|
||
}
|
||
|
||
/// <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException" /> class with a specified error message and inner exception. </summary>
|
||
/// <param name="message">An error message that explains the reason for the exception.</param>
|
||
/// <param name="inner">The exception that is the cause of the current exception. If the <paramref name="inner" /> parameter is not null, the current exception is raised in a catch block that handles the inner exception.</param>
|
||
// Token: 0x06003881 RID: 14465 RVA: 0x000C3BF0 File Offset: 0x000C1DF0
|
||
public AbandonedMutexException(string message, Exception inner)
|
||
: base(message, inner)
|
||
{
|
||
}
|
||
|
||
/// <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException" /> class with a specified error message, the index of the abandoned mutex, if applicable, and the abandoned mutex. </summary>
|
||
/// <param name="message">An error message that explains the reason for the exception.</param>
|
||
/// <param name="location">The index of the abandoned mutex in the array of wait handles if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitAny" /> method, or –1 if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitOne" /> or <see cref="Overload:System.Threading.WaitHandle.WaitAll" /> methods.</param>
|
||
/// <param name="handle">A <see cref="T:System.Threading.Mutex" /> object that represents the abandoned mutex.</param>
|
||
// Token: 0x06003882 RID: 14466 RVA: 0x000C3C04 File Offset: 0x000C1E04
|
||
public AbandonedMutexException(string message, int location, WaitHandle handle)
|
||
: base(message)
|
||
{
|
||
this.mutex_index = location;
|
||
this.mutex = handle as Mutex;
|
||
}
|
||
|
||
/// <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException" /> class with a specified error message, the inner exception, the index for the abandoned mutex, if applicable, and a <see cref="T:System.Threading.Mutex" /> object that represents the mutex.</summary>
|
||
/// <param name="message">An error message that explains the reason for the exception.</param>
|
||
/// <param name="inner">The exception that is the cause of the current exception. If the <paramref name="inner" /> parameter is not null, the current exception is raised in a catch block that handles the inner exception.</param>
|
||
/// <param name="location">The index of the abandoned mutex in the array of wait handles if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitAny" /> method, or –1 if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitOne" /> or <see cref="Overload:System.Threading.WaitHandle.WaitAll" /> methods.</param>
|
||
/// <param name="handle">A <see cref="T:System.Threading.Mutex" /> object that represents the abandoned mutex.</param>
|
||
// Token: 0x06003883 RID: 14467 RVA: 0x000C3C28 File Offset: 0x000C1E28
|
||
public AbandonedMutexException(string message, Exception inner, int location, WaitHandle handle)
|
||
: base(message, inner)
|
||
{
|
||
this.mutex_index = location;
|
||
this.mutex = handle as Mutex;
|
||
}
|
||
|
||
/// <summary>Gets the abandoned mutex that caused the exception, if known.</summary>
|
||
/// <returns>A <see cref="T:System.Threading.Mutex" /> object that represents the abandoned mutex, or null if the abandoned mutex could not be identified.</returns>
|
||
/// <filterpriority>1</filterpriority>
|
||
// Token: 0x17000AFC RID: 2812
|
||
// (get) Token: 0x06003884 RID: 14468 RVA: 0x000C3C50 File Offset: 0x000C1E50
|
||
public Mutex Mutex
|
||
{
|
||
get
|
||
{
|
||
return this.mutex;
|
||
}
|
||
}
|
||
|
||
/// <summary>Gets the index of the abandoned mutex that caused the exception, if known.</summary>
|
||
/// <returns>The index, in the array of wait handles passed to the <see cref="Overload:System.Threading.WaitHandle.WaitAny" /> method, of the <see cref="T:System.Threading.Mutex" /> object that represents the abandoned mutex, or –1 if the index of the abandoned mutex could not be determined.</returns>
|
||
/// <filterpriority>1</filterpriority>
|
||
// Token: 0x17000AFD RID: 2813
|
||
// (get) Token: 0x06003885 RID: 14469 RVA: 0x000C3C58 File Offset: 0x000C1E58
|
||
public int MutexIndex
|
||
{
|
||
get
|
||
{
|
||
return this.mutex_index;
|
||
}
|
||
}
|
||
|
||
// Token: 0x040016D8 RID: 5848
|
||
private Mutex mutex;
|
||
|
||
// Token: 0x040016D9 RID: 5849
|
||
private int mutex_index = -1;
|
||
}
|
||
}
|