From 085bb402c7b2c2f96624fb0523ff3f9686fe26d9 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sat, 27 Jul 2024 19:10:16 -0400 Subject: xspawn: Use _Fork() if available This completes the workaround for bfs_spawn() hanging on FreeBSD with ASan enabled. Link: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280318 --- src/xspawn.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/xspawn.c') diff --git a/src/xspawn.c b/src/xspawn.c index 68973ad..789f370 100644 --- a/src/xspawn.c +++ b/src/xspawn.c @@ -612,7 +612,11 @@ static pid_t bfs_fork_spawn(struct bfs_resolver *res, const struct bfs_spawn *ct goto fail; } +#if BFS_HAS__FORK + pid_t pid = _Fork(); +#else pid_t pid = fork(); +#endif if (pid == 0) { // Child bfs_spawn_exec(res, ctx, argv, envp, pipefd); -- cgit v1.2.3