cc-ing Rainer > On 2 Sep 2025, at 14:47, Iain Buclaw <[email protected]> wrote: > > Excerpts from Iain Sandoe's message of September 1, 2025 6:23 pm: >> In use for 2 years or so on Darwin branches, OK for trunk? >> thanks >> Iain >> >> --- 8< --- >> >> The collect fork version has two issues on Darwin, first that it seems >> to hang quite frequently and second that ___fork() is not available on >> all OS versions. The remedy here is to avoid its use, for now. >> >> --- >> .../libdruntime/core/internal/gc/impl/conservative/gc.d | 9 +++++++-- >> 1 file changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/libphobos/libdruntime/core/internal/gc/impl/conservative/gc.d >> b/libphobos/libdruntime/core/internal/gc/impl/conservative/gc.d >> index 64b5bed43b1..0cf0a0d9523 100644 >> --- a/libphobos/libdruntime/core/internal/gc/impl/conservative/gc.d >> +++ b/libphobos/libdruntime/core/internal/gc/impl/conservative/gc.d >> @@ -30,8 +30,13 @@ module core.internal.gc.impl.conservative.gc; >> >> /***************************************************/ >> version = COLLECT_PARALLEL; // parallel scanning >> -version (Posix) >> - version = COLLECT_FORK; >> +version (GNU) >> +{ >> + version (linux) >> + version = COLLECT_FORK; // uses clone(), battle tested and reliable > > What about Solaris and *BSD. Are there any outstanding PRs for druntime > hanging > on those ports too? Or is specific to Darwin (or possibly emutls?).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103944 says darwin and i686-linux (so my exclusion of linux is not right), but no comment on Solaris or *BSD IDK how widely this is tested... Iain > > Iain.
