Re: libthr and 1:1 threading.

From: Daniel Eischen <eischen_at_pcnet1.pcnet.com>
Date: Wed, 2 Apr 2003 17:51:56 -0500 (EST)
[ CC list trimmed somewhat ]

On Wed, 2 Apr 2003, Jeff Roberson wrote:
> On Wed, 2 Apr 2003, Daniel Eischen wrote:
> > On Wed, 2 Apr 2003, Jeff Roberson wrote:
> > >
> > > Then set the mask to be the same on all threads in the process.  The mask
> > > is set in swapcontext though so it seems reasonable to me that it is
> > > atomically updated when you schedule a new user thread on a kse.
> >
> > Jeff, are you _listening_ to us?  We've said multiple times
> > that the UTS does not enter the kernel when performing thread
> > switches.  The UTS does NOT use setcontext(), getcontext(),
> > or swapcontext().
> 
> I had not seen anyone mention this.

This is only the 3rd or 4th time that I've sent or CC'd you
with email on the topic, most probably on the KSE list.  I
know that Julian has sent several also.  You must be filtering
us :-)

> If this is the case then I suggest
> the masks and pending sets be kept in user space.  You can install blank
> handlers for everything so that they are kept pending until the uts has a
> chance to pick them up in the upcall.

Well, they are kept in user-space.  The kse mailbox has the
currently running thread's signal mask.  The thread structure
also has a pending signal set, and there is also a global
pending signal set for signals pending on the process.
It's just that the kernel doesn't know about it.

> If you really want a process wide mask allow me to do it.  The single code
> is quite tricky and it's already been butchered enough.  I think we should
> discuss this a bit more first though.

Sure, we're discussing signal stuff on the kse list now.
Are you still monitoring that list?  Perhaps that's
partially why you haven't seen any of our email?

-- 
Dan Eischen
Received on Wed Apr 02 2003 - 12:52:04 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:02 UTC