Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jun 2003 01:08:46 -0400 (EDT)
From:      Daniel Eischen <eischen@vigrid.com>
To:        Marcel Moolenaar <marcel@xcllnt.net>
Cc:        Julian Elischer <julian@elischer.org>
Subject:   Re: Implementing TLS: step 1
Message-ID:  <Pine.GSO.4.10.10306200105140.23-100000@pcnet5.pcnet.com>
In-Reply-To: <20030620041234.GA28472@dhcp01.pn.xcllnt.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 19 Jun 2003, Marcel Moolenaar wrote:

> On Thu, Jun 19, 2003 at 11:57:04PM -0400, Daniel Eischen wrote:
> > 
> > I'm not too sure about the kernel code.  If you have KSEs
> > working for libthr, then I assume there is very little extra
> > kernel code needed.  You do need to have get_mcontext() and
> > set_mcontext() implemented in machdep.c, though.  It looks
> > like you do (although nothing is done with clear_ret in
> > get_mcontext()).
> 
> Yes, {g|s}et_mcontext() are implemented, as is makecontext(3).
> 
> We cannot do anything with clear_ret, because it's based on
> assumptions that don't hold in ia64.

How do return values from syscalls get passed back?

> BTW: there's no race that can't be plugged if TP doesn't point
> to the mailbox. All we need is an atomic compare-exchange and
> a retry loop...

Ok, the only problem might be something being deallocated
out from under you.  For instance, a KSE goes away (gets
deallocated) while your thread is continued on another
KSE and you are still dereferencing something that may no
longer be valid.

-- 
Dan Eischen



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