Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Sep 2000 22:15:15 -0400 (EDT)
From:      Chuck Robey <chuckr@picnic.chuckr.org>
To:        Nate Williams <nate@yogotech.com>
Cc:        Kees Jan Koster <dutchman@tccn.cs.kun.nl>, FreeBSD Java Mailinglist <freebsd-java@FreeBSD.ORG>
Subject:   Re: Threads questions
Message-ID:  <Pine.BSF.4.21.0009132210060.403-100000@picnic.chuckr.org>
In-Reply-To: <200009122153.PAA25042@nomad.yogotech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 12 Sep 2000, Nate Williams wrote:

> > Question about libraries: I notice that java is linked against libc,
> > should that not be libc_r? 
> 
> Definitely not.
> 
> > Isn't libc_r the reentrant version of libc?
> 
> Yes, but we don't use the re-entrant version of the library, since we
> provide our own 'wrappers' for the library functions inside our
> multi-threaded libraries.
> 
> > I'm not too up to date with the whole threading business in C, and of
> > course that's precisely where I'm stuck with on NetBSD. It seems
> > that ucontext.h is missing in NetBSD.
> 
> ucontext.h isn't in FreeBSD either.  Have you looked at Simon Gerraty's
> (sp?) NetBSD port of JDK1.1.  That would be a good place to start.
> 
> > I thought that I could install GNU PTh to get a userland thread
> > library to use, but it does not include ucontext.h. What's ucontext.h
> > for?
> 
> If the OS supports kernel threads, then these provide the get/setcontext
> functions for this, but since none of the *BSD's support them, we don't
> have the library functions.

I just did some porting of a homemade threading package from FreeBSD to
Solaris, where they *do* have ucontext.h, and the {get|set|make}context
calls.  From my architectural reading, that's because (on Sparc
processors) getting the stack & registers doesn't get you the full
execution context (you need registers from windows that are currently
invisible, since return addresses are kept in registers, not on the
stack).  Supervisor level calls are *required* to get a full user context.

I didn't see where it had anything to do with kernel threads.  I'm a bit
surprised.

> > Where can I find some documentation on it? Who knows a lot about
> > threading and the JDK implementation?
> 
> Look at the patches supplied for FreeBSD.  It's all in there. :)
> 
> 
> Nate
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-java" in the body of the message
> 
> 

----------------------------------------------------------------------------
Chuck Robey             | Interests include C & Java programming, FreeBSD,
chuckr@picnic.chuckr.org| electronics, communications, and signal processing.

New Year's Resolution:  I will not sphroxify gullible people into looking up
fictitious words in the dictionary.
----------------------------------------------------------------------------



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0009132210060.403-100000>