Patch: --- druntime-trunk~/src/rt/critical.c 2010-08-05 09:59:36.000000000 +0100 +++ druntime-trunk/src/rt/critical.c 2010-12-04 21:45:34.417486613 +0000 @@ -82,7 +82,7 @@ /* ================================= linux ============================ */ -#if linux || __APPLE__ || __FreeBSD__ +#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 #include <stdio.h> #include <stdlib.h> --- druntime-trunk~/src/rt/monitor.c 2010-08-05 09:59:36.000000000 +0100 +++ druntime-trunk/src/rt/monitor.c 2010-12-04 21:42:17.513486612 +0000 @@ -15,7 +15,7 @@ #include <assert.h> #if _WIN32 -#elif linux || __APPLE__ || __FreeBSD__ +#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 #define USE_PTHREADS 1 #else #endif
https://github.com/D-Programming-Language/druntime/commit/1a7482679b8cf5df10d3b002beb51a285764a2a7 I used the version identifier that dmd uses, "Solaris". I hope that's what GDC and LDC use.
And the same change to critical_.d: https://github.com/D-Programming-Language/druntime/commit/f33862c7b6084af61e79f6ab73ff86d97833221b
Solaris isn't supported in core.sys.posix.pthreads though, is it? (Admittedly I have a largely unfinished patch to add Solaris support in druntime lingering in a VM somewhere, so maybe not too much of a worry). Regards