Skip to content

Commit d52823c

Browse files
authored
Merge pull request #65969 from al45tair/eng/PR-109354306-5.9
[5.9][Runtime][Backtracing] Conditionalise initialisation of the spawnattr.
2 parents 6c53fcf + fedce30 commit d52823c

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

stdlib/public/runtime/Backtrace.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -268,17 +268,6 @@ BacktraceInitializer::BacktraceInitializer() {
268268
if (backtracing)
269269
_swift_parseBacktracingSettings(backtracing);
270270

271-
#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
272-
// Make sure that all fds are closed except for stdin/stdout/stderr.
273-
posix_spawnattr_init(&backtraceSpawnAttrs);
274-
posix_spawnattr_setflags(&backtraceSpawnAttrs, POSIX_SPAWN_CLOEXEC_DEFAULT);
275-
276-
posix_spawn_file_actions_init(&backtraceFileActions);
277-
posix_spawn_file_actions_addinherit_np(&backtraceFileActions, STDIN_FILENO);
278-
posix_spawn_file_actions_addinherit_np(&backtraceFileActions, STDOUT_FILENO);
279-
posix_spawn_file_actions_addinherit_np(&backtraceFileActions, STDERR_FILENO);
280-
#endif
281-
282271
#if !SWIFT_BACKTRACE_ON_CRASH_SUPPORTED
283272
if (_swift_backtraceSettings.enabled != OnOffTty::Off) {
284273
swift::warning(0,
@@ -436,6 +425,17 @@ BacktraceInitializer::BacktraceInitializer() {
436425
}
437426

438427
if (_swift_backtraceSettings.enabled == OnOffTty::On) {
428+
#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
429+
// Make sure that all fds are closed except for stdin/stdout/stderr.
430+
posix_spawnattr_init(&backtraceSpawnAttrs);
431+
posix_spawnattr_setflags(&backtraceSpawnAttrs, POSIX_SPAWN_CLOEXEC_DEFAULT);
432+
433+
posix_spawn_file_actions_init(&backtraceFileActions);
434+
posix_spawn_file_actions_addinherit_np(&backtraceFileActions, STDIN_FILENO);
435+
posix_spawn_file_actions_addinherit_np(&backtraceFileActions, STDOUT_FILENO);
436+
posix_spawn_file_actions_addinherit_np(&backtraceFileActions, STDERR_FILENO);
437+
#endif
438+
439439
ErrorCode err = _swift_installCrashHandler();
440440
if (err != 0) {
441441
swift::warning(0,

0 commit comments

Comments
 (0)