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>