A way to build and install libpthread as 1:1 as well as M:N?

Daniel Eischen eischen at vigrid.com
Sun Jul 18 09:30:30 PDT 2004

On Sun, 18 Jul 2004, Robert Watson wrote:

> I'm doing some stability and performance testing as part of the network
> stack locking work.  I'd like a way to easily plug and play the
> configuration of libpthread at run-time (although restarting apps is fine,
> rebooting is less preferable, as is actually rebuilding!).  It looks like
> right now if I want to switch the operating mode of libpthread to 1:1, I
> have to recompile it with different compile options and have a separate
> library floating around that I plug.  Could we arrange for it to be a
> runtime switch of some sort (perhaps read once when the app starts), or
> build the library both ways by default and intall with different names?

The way to do this so it is switchable without relinking
the application (and without using libmap.conf) is to use
LD_LIBRARY_PATH.  You can install libpthread built as 1:1
anywhere you like and just set LD_LIBRARY_PATH to wherever
it is installed.

If you want both 1:1 and M:N versions of libpthread installed
by default, we have to decide where to install the 1:1 version.
I would recommend 1:1 go in lib/lwp/libpthread.so.1 and M:N
in lib/libpthread.so.1.  You could change "lwp" to "kse"
or something else.

Dan Eischen

More information about the freebsd-threads mailing list