Hi! Omar Polo <o...@omarpolo.com> skribis:
> On 2023/03/30 22:21:28 +0200, Josselin Poiret <d...@jpoiret.xyz> wrote: >> Hi Ludo, >> >> Ludovic Courtès <l...@gnu.org> writes: >> >> > Coming next is an updated patch series addressing this as proposed >> > above. Let me know what y’all think! >> > >> > I tested the ‘posix_spawn_file_actions_addclosefrom_np’ path by building >> > in: >> > >> > guix time-machine --branch=core-updates -- shell -CP -D -f guix.scm >> >> I didn't test, but this LGTM! Maybe someone on OpenBSD could test this >> patchset? > > % gmake check > <snip /> > gmake[5]: Entering directory '/home/op/w/guile/test-suite/standalone' > PASS: test-system-cmds > > it seems to work on OpenBSD 7.3 :) Awesome! Pushed as 9cc85a4f52147fcdaa4c52a62bcc87bdb267d0a9. > but note that our libc doesn't have posix_spawn_file_actions_addclosefrom_np, > so this is using the "racy" code path. Yeah, not great. :-/ I hope that function will be adopted by other libcs, especially since ‘closefrom’ is already available. > Just for curiosity, as it's outside the scope of the bug, what's the > reason posix_spawn was used instead of a more classic fork() + > closefrom()? There’s a long discussion at: https://issues.guix.gnu.org/52835 Essentially, ‘fork’ is unusable in multi-threaded context, in addition to being inefficient. Thanks, Ludo’.