From owner-freebsd-threads@FreeBSD.ORG Thu Apr 3 15:44:59 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8101D37B401 for ; Thu, 3 Apr 2003 15:44:59 -0800 (PST) Received: from speicher.org (sirius.speicher.org [209.74.10.51]) by mx1.FreeBSD.org (Postfix) with ESMTP id F19E343FAF for ; Thu, 3 Apr 2003 15:44:57 -0800 (PST) (envelope-from geoff@speicher.org) Received: from localhost (geoff@localhost) by speicher.org (8.11.6/8.11.6) with ESMTP id h33NuiJ03361; Thu, 3 Apr 2003 18:56:45 -0500 (EST) (envelope-from geoff@speicher.org) Date: Thu, 3 Apr 2003 18:56:44 -0500 (EST) From: "Geoffrey C. Speicher" To: Terry Lambert In-Reply-To: <3E8CB7D3.A4B3CBF7@mindspring.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Daniel Eischen cc: freebsd-threads@freebsd.org Subject: Re: 1:N threading X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Apr 2003 23:44:59 -0000 On Thu, 3 Apr 2003, Terry Lambert wrote: > Daniel Eischen wrote: > > Libc_r will go bye-bye. The KSE library will give you 1:N > > as long as you don't use pthread_setconcurrency() and don't > > create any PTHREAD_SCOPE_PROCESS threads. > > > I think that maybe you need to get over the "fear factor" here. > > Specifically, it's probably time to commit a "libkse", the same > way that Jeff committed a "libthr", so that it doesn't directly > replace "libc_r", and leave people hanging over a cliff if it > has a bug. I was thinking that would be nice too, until I visited http://www.freebsd.org/kse/ and found it was already done. To quote: In order to use KSE in an application, you need to link it against libpthreads, which is not built by default. To build and install it on your system, either run make all install from /usr/src/lib/libpthread (if you have sources installed on your system), or check out the libpthread and libc modules from CVS. You don't need to rebuild libc, but the libpthread makefiles refer to parts of the libc sources. Linking an application against libpthread is straighforward. In its makefiles, change the -pthread option to -lpthread and relink. Alternatively, you can copy libpthread.so on top of libc_r.so, but this is not recommended until libpthread.so becomes a bit more stable. I'm going to give it a whirl since Jeff's overnight commits to libthr make my system reboot every time I run mozilla. How much worse can libpthread be? :) *tinker, tinker* Geoff