@@ -271,17 +271,6 @@ BacktraceInitializer::BacktraceInitializer() {
271271 if (backtracing)
272272 _swift_parseBacktracingSettings (backtracing);
273273
274- #if TARGET_OS_OSX || TARGET_OS_MACCATALYST
275- // Make sure that all fds are closed except for stdin/stdout/stderr.
276- posix_spawnattr_init (&backtraceSpawnAttrs);
277- posix_spawnattr_setflags (&backtraceSpawnAttrs, POSIX_SPAWN_CLOEXEC_DEFAULT);
278-
279- posix_spawn_file_actions_init (&backtraceFileActions);
280- posix_spawn_file_actions_addinherit_np (&backtraceFileActions, STDIN_FILENO);
281- posix_spawn_file_actions_addinherit_np (&backtraceFileActions, STDOUT_FILENO);
282- posix_spawn_file_actions_addinherit_np (&backtraceFileActions, STDERR_FILENO);
283- #endif
284-
285274#if !SWIFT_BACKTRACE_ON_CRASH_SUPPORTED
286275 if (_swift_backtraceSettings.enabled != OnOffTty::Off) {
287276 swift::warning (0 ,
@@ -439,6 +428,17 @@ BacktraceInitializer::BacktraceInitializer() {
439428 }
440429
441430 if (_swift_backtraceSettings.enabled == OnOffTty::On) {
431+ #if TARGET_OS_OSX || TARGET_OS_MACCATALYST
432+ // Make sure that all fds are closed except for stdin/stdout/stderr.
433+ posix_spawnattr_init (&backtraceSpawnAttrs);
434+ posix_spawnattr_setflags (&backtraceSpawnAttrs, POSIX_SPAWN_CLOEXEC_DEFAULT);
435+
436+ posix_spawn_file_actions_init (&backtraceFileActions);
437+ posix_spawn_file_actions_addinherit_np (&backtraceFileActions, STDIN_FILENO);
438+ posix_spawn_file_actions_addinherit_np (&backtraceFileActions, STDOUT_FILENO);
439+ posix_spawn_file_actions_addinherit_np (&backtraceFileActions, STDERR_FILENO);
440+ #endif
441+
442442 ErrorCode err = _swift_installCrashHandler ();
443443 if (err != 0 ) {
444444 swift::warning (0 ,
0 commit comments