@@ -68,49 +68,28 @@ typedef DWORD pid_t;
6868#define SENTRY_CRASH_MAX_REGION_SIZE \
6969 (64 * 1024 * 1024) // 64MB max memory region
7070
71+ // Detect sanitizer builds (ASAN/TSAN) which are much slower
72+ #if defined(__SANITIZE_THREAD__ ) || defined(__SANITIZE_ADDRESS__ )
73+ # define SENTRY_SANITIZER_BUILD 1
74+ #elif defined(__has_feature )
75+ # if __has_feature (thread_sanitizer ) || __has_feature (address_sanitizer )
76+ # define SENTRY_SANITIZER_BUILD 1
77+ # endif
78+ #endif
79+
7180// Timeout values for IPC and crash handling (in milliseconds)
7281// Increased timeout for sanitizer builds which are much slower
73- #if defined(__SANITIZE_THREAD__ ) || defined(__SANITIZE_ADDRESS__ ) \
74- || defined(__has_feature )
75- # if defined(__has_feature )
76- # if __has_feature (thread_sanitizer ) || __has_feature (address_sanitizer )
77- # define SENTRY_CRASH_DAEMON_READY_TIMEOUT_MS \
78- 30000 // 30 seconds for TSAN/ASAN builds
79- # else
80- # define SENTRY_CRASH_DAEMON_READY_TIMEOUT_MS \
81- 10000 // 10 seconds to wait for daemon startup
82- # endif
83- # else
84- # define SENTRY_CRASH_DAEMON_READY_TIMEOUT_MS \
85- 30000 // 30 seconds for TSAN/ASAN builds
86- # endif
82+ #if defined(SENTRY_SANITIZER_BUILD )
83+ # define SENTRY_CRASH_DAEMON_READY_TIMEOUT_MS 30000 // 30s for TSAN/ASAN
84+ # define SENTRY_CRASH_HANDLER_WAIT_TIMEOUT_MS 30000 // 30s for TSAN/ASAN
8785#else
88- # define SENTRY_CRASH_DAEMON_READY_TIMEOUT_MS \
89- 10000 // 10 seconds to wait for daemon startup
86+ # define SENTRY_CRASH_DAEMON_READY_TIMEOUT_MS 10000 // 10s for daemon startup
87+ # define SENTRY_CRASH_HANDLER_WAIT_TIMEOUT_MS 10000 // 10s max wait for daemon
9088#endif
9189#define SENTRY_CRASH_DAEMON_WAIT_TIMEOUT_MS \
9290 5000 // 5 seconds between daemon health checks
9391#define SENTRY_CRASH_HANDLER_POLL_INTERVAL_MS \
9492 100 // 100ms poll interval in exception handler
95- // Increased timeout for sanitizer builds
96- #if defined(__SANITIZE_THREAD__ ) || defined(__SANITIZE_ADDRESS__ ) \
97- || defined(__has_feature )
98- # if defined(__has_feature )
99- # if __has_feature (thread_sanitizer ) || __has_feature (address_sanitizer )
100- # define SENTRY_CRASH_HANDLER_WAIT_TIMEOUT_MS \
101- 30000 // 30 seconds for TSAN/ASAN builds
102- # else
103- # define SENTRY_CRASH_HANDLER_WAIT_TIMEOUT_MS \
104- 10000 // 10 seconds max wait for daemon to finish
105- # endif
106- # else
107- # define SENTRY_CRASH_HANDLER_WAIT_TIMEOUT_MS \
108- 30000 // 30 seconds for TSAN/ASAN builds
109- # endif
110- #else
111- # define SENTRY_CRASH_HANDLER_WAIT_TIMEOUT_MS \
112- 10000 // 10 seconds max wait for daemon to finish
113- #endif
11493#define SENTRY_CRASH_TRANSPORT_SHUTDOWN_TIMEOUT_MS \
11594 10000 // 10 seconds for transport shutdown (increased for TSAN/ASAN builds)
11695
0 commit comments