Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Nov 1999 07:46:52 -0600
From:      "Richard Seaman, Jr." <dick@tar.com>
To:        Julian Elischer <julian@whistle.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Threads models and FreeBSD. (Next Step)
Message-ID:  <19991103074651.E5715@tar.com>
In-Reply-To: <Pine.BSF.4.10.9911020044200.2283-100000@current1.whistle.com>
References:  <Pine.BSF.4.10.9911020044200.2283-100000@current1.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Nov 02, 1999 at 12:59:28AM -0800, Julian Elischer wrote:

[....]

> ---- possible userland implementation goals-----
>  
> 1/ A libpthread that can be linked with libc.
>  
> 2/ Libc needs to change so that library functions and system calls
>        used internal to the library do not use the externally visible
>        cancellable equivalents.

Can I suggest in addition to 2:
   a) libc that is thread safe when used with libpthread (currently libc
      is only partly thread safe, and even libc_r is not completely thread
      safe).
   b) hooks in libc to facilitate thread safe behaviour, specifically libc
      structures that include locks, or pointers to locks as part of the
      strcuture.  This will probably require a version bump for libc, but
      the alternative is really ugly (see John Birrell's implementation
      of locking for the FILE structure as an example of what will have to
      be repeated for other libc structures without locks as part of the
      structures).

As a 3) can I suggest:

   User land "system" libraries that are thread aware and thread safe (libgcc 
   is an example of one that is needed -- perhaps there are others) when used
   with threaded applications

As a 4) can I suggest:

   Debugger support for threads.

As a 5) can I suggest:

   Well defined and industry standard methods for compiling and linking
   threaded applications (currently FreeBSD's libc_r requirements for
   compile/link are different from the most commonly used methods in other
   pthreads implementations.  Just browse through the ports to see what
   FreeBSD specific changes have to be made to port threaded applications.
   If we used more convetional compile/link requirements, porting would
   be much easier).
-- 
Richard Seaman, Jr.           email: dick@tar.com
5182 N. Maple Lane            phone: 262-367-5450
Chenequa WI 53058             fax:   262-367-5852




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991103074651.E5715>