Files
2026-06-04 11:42:34 +02:00

116 lines
7.1 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;
}
}