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?).

Iain.

Reply via email to