To the best of my knowledge, within Sun we use almost exclusively threads APIs and not LWP APIs. I scanned the current Nevada (OpenSolaris) code base and the only references that remain to LWP calls are internally in the threads APIs themselves, the kernel & syscall interfaces and one spot in dtrace.
My recommendation is to remove the non-functional LWP code.
If someone at Sun used LWP calls instead of normal thread calls in OpenSolaris code, during the code review people here would certainly question it.
Also FYI, during Solaris 10, the threading model was updated to 1-1 LWPs to threads vs. MxN LWP pools [prior to Solaris 10], and the thread APIs were all moved to libc [libthread is now a stub library so Makefiles don't break]. This happened as part of the "Solaris Process Model Unification" project. Google can provide some further details if desired.
Doug.
Hallvard B Furuseth wrote:
libraries/libldap_r/thr_lwp.c (SunOS LWP) has since 1999 (rev 1.5) said: /* This implementation NEEDS WORK. It currently does not compile */
I suggest we kill LWP support. Has anyone tried to use it since 1999?
Note, configure --with-threads=lwp turns into either Solaris threads (#define HAVE_THR) or SunOS LWP (#define HAVE_LWP).