-
-
Notifications
You must be signed in to change notification settings - Fork 230
Expand file tree
/
Copy pathSignalHandlerStrategy.cs
More file actions
31 lines (30 loc) · 1.34 KB
/
SignalHandlerStrategy.cs
File metadata and controls
31 lines (30 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
namespace Sentry.Android;
/// <summary>
/// Defines how Sentry Native's signal handler interacts with the CLR/Mono
/// signal handler.
/// </summary>
public enum SignalHandlerStrategy
{
/// <summary>
/// Sentry Native captures the crash first, then invokes the .NET runtime's signal
/// handler. The runtime may convert the same signal into a managed exception (e.g.,
/// <c>SIGSEGV</c> into <c>NullReferenceException</c>), which can result in duplicate
/// crash reports.
/// </summary>
Default,
/// <summary>
/// Sentry Native invokes the .NET runtime's signal handler first, then captures the
/// native crash. This avoids duplicate crash reports from both the native signal and
/// the managed exception. This strategy is supported on Android 8.0 (API level 26)
/// and later; on older versions, Sentry Native silently falls back to
/// <see cref="Default"/>.
/// </summary>
/// <remarks>
/// .NET runtimes 10.0.0–10.0.3 (.NET SDKs 10.0.100–10.0.103) are not compatible with
/// this strategy. On affected versions, the SDK automatically falls back to
/// <see cref="Default"/>. The issue was resolved in .NET runtime 10.0.4
/// (.NET SDK 10.0.200). See
/// <see href="https://github.com/dotnet/runtime/pull/123346">dotnet/runtime#123346</see>.
/// </remarks>
ChainAtStart
}