From 2e1356c6f3375c1610916ada84b5ebae33adb80c Mon Sep 17 00:00:00 2001
From: JoshuaMoelans <60878493+JoshuaMoelans@users.noreply.github.com>
Date: Tue, 25 Mar 2025 12:09:03 +0100
Subject: [PATCH 1/3] add crashpad-wait-for-upload option
---
docs/platforms/native/common/configuration/options.mdx | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/docs/platforms/native/common/configuration/options.mdx b/docs/platforms/native/common/configuration/options.mdx
index a65f186e391ba7..d3fc493fdf7851 100644
--- a/docs/platforms/native/common/configuration/options.mdx
+++ b/docs/platforms/native/common/configuration/options.mdx
@@ -60,6 +60,12 @@ This variable controls the total amount of breadcrumbs that should be captured.
+
+
+Whether Crashpad should delay application shutdown until the upload of the crash report in the `crashpad_handler` is complete. This is useful for deployment in `Docker` or `systemd`, where the life cycle of additional processes is bound by the application life cycle.
+
+
+
## Hooks
These options can be used to hook the SDK in various ways to customize the reporting of events.
From 99b53ba8e840c834cad0e4516ef63d1bd8db3b0f Mon Sep 17 00:00:00 2001
From: JoshuaMoelans <60878493+JoshuaMoelans@users.noreply.github.com>
Date: Tue, 25 Mar 2025 12:38:45 +0100
Subject: [PATCH 2/3] edit backend tradeoffs for crashpad
---
.../native/advanced-usage/backend-tradeoffs/index.mdx | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/docs/platforms/native/advanced-usage/backend-tradeoffs/index.mdx b/docs/platforms/native/advanced-usage/backend-tradeoffs/index.mdx
index 396a1d23fec9df..e429c6376811f4 100644
--- a/docs/platforms/native/advanced-usage/backend-tradeoffs/index.mdx
+++ b/docs/platforms/native/advanced-usage/backend-tradeoffs/index.mdx
@@ -32,12 +32,13 @@ Sentry decided on `crashpad` as the default on all platforms because there are a
* you cannot package or deploy an additional executable (the `crashpad_handler`)
* you cannot allow a secondary process to connect via `ptrace` to your application (AWS Lambda, Flatpak-, Snap-Sandboxes)
* IPC between your process and the `crashpad_handler` is inhibited by security settings or not available in your deployment target
-* your deployment scenario cannot wait for the `crashpad_handler` to finish its work before a shutdown-after-crash (systemd, Docker)
* you want to distribute your application via the macOS App Store
* you want to define crash hooks on macOS because there, error handling happens entirely in the `crashpad_handler`, whereas on Linux and Windows, at least the initial handling happens in your process, after which `crashpad_handler` takes over and snapshots the process to send a crash report
In the above cases, if you cannot loosen the requirements of your environment, you have to choose an in-process backend (meaning either `breakpad` or `inproc`).
+When your deployment scenario should wait for the `crashpad_handler` to finish its work before a shutdown-after-crash (systemd, Docker), you can enable the option `crashpad_wait_for_upload` to delay application shutdown until the upload of the crash report is completed.
+
### How do I decide between `breakpad` or `inproc`?
Both backends are comparable in how they differ from `crashpad`. However, there are also considerable differences between the two:
From 12eab9119a10caad690c0e28d2b497a3c478d1ba Mon Sep 17 00:00:00 2001
From: JoshuaMoelans <60878493+JoshuaMoelans@users.noreply.github.com>
Date: Tue, 25 Mar 2025 14:08:01 +0100
Subject: [PATCH 3/3] apply suggestion
Co-authored-by: Mischan Toosarani-Hausberger
---
.../platforms/native/advanced-usage/backend-tradeoffs/index.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/platforms/native/advanced-usage/backend-tradeoffs/index.mdx b/docs/platforms/native/advanced-usage/backend-tradeoffs/index.mdx
index e429c6376811f4..6ff84149d6beea 100644
--- a/docs/platforms/native/advanced-usage/backend-tradeoffs/index.mdx
+++ b/docs/platforms/native/advanced-usage/backend-tradeoffs/index.mdx
@@ -37,7 +37,7 @@ Sentry decided on `crashpad` as the default on all platforms because there are a
In the above cases, if you cannot loosen the requirements of your environment, you have to choose an in-process backend (meaning either `breakpad` or `inproc`).
-When your deployment scenario should wait for the `crashpad_handler` to finish its work before a shutdown-after-crash (systemd, Docker), you can enable the option `crashpad_wait_for_upload` to delay application shutdown until the upload of the crash report is completed.
+When your deployment scenario should wait for the `crashpad_handler` to finish its work before a shutdown-after-crash (systemd, Docker), you can enable the option [`crashpad_wait_for_upload`](/platforms/native/configuration/options/#crashpad-wait-for-upload) to delay application shutdown until the upload of the crash report is completed.
### How do I decide between `breakpad` or `inproc`?