This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [rfa] Include the LWP in thread-db's PTIDs


On Wed, Oct 13, 2004 at 05:27:15PM -0400, Daniel Jacobowitz wrote:
> On Wed, Oct 13, 2004 at 11:16:05PM +0200, Mark Kettenis wrote:
> >    Date: Tue, 12 Oct 2004 09:31:40 -0400
> >    From: Daniel Jacobowitz <drow@false.org>
> > 
> >    On Mon, Oct 11, 2004 at 09:40:26PM +0200, Mark Kettenis wrote:
> >    > 
> >    > I think assuming 1:1 threads is fair enough.  But Daniel, if you're
> >    > going to do that, I'd like to ask you to rename thread-db.c into
> >    > linux-thread.c or something like that.
> > 
> >    How about glibc-thread-db.c?
> > 
> > I'm not sure whether that's appropriate.  NPTL is defenitely
> > Linux-specific.  The Hurd doesn't have a thread_db yet.  I suppose
> > that if you're going to make some Linux-specific assumptions
> > glibc-thread-db.c isn't right.
> 
> I was not planning on making any Linux-specific assumptions in the
> thread-db code - just in lin-lwp.  I doubt glibc's thread_db
> implementation is going to support non-1:1 threading, and that's the
> only assumption I am planning on using in what is now thread-db.c.
> 
> But I don't know much about threading for the only active non-Linux
> users of glibc (the kBSD projects and the Hurd).  Do you think that the
> 1:1 assumption is Linux-specific rather than glibc-specific?  If so,
> linux-thread-db.c would be a better choice indeed, and I can use that.

Ping on the renaming question.

I think that I should take care of the renaming of this file before I
start adding assumptions to it, so I withdraw the patch at the
beginning of this thread until that has been taken care of.

> >    Anyway, I'm wondering if there should be some other method of
> >    communication between the native and thread strata (as opposed to
> >    between lin-lwp and thread_db!).  I don't much want to use to_wait for
> >    this, because the assumption in the rest of GDB is that to_wait returns
> >    when all threads are stopped and I don't want to gratuitously stop all
> >    threads when we receive a creation event.
> > 
> > But you don't have to return from to_wait upon a creation event.  But
> > we probably should if the user asks us to report new threads.  The
> > current way of printing [new thread] messages is a bit broken, since
> > GDB doesn't always have control over the terminal.
> 
> Indeed, we don't have to return from to_wait after thread creation. 
> However, if there are thread strata above us, we want to report the new
> thread to them promptly.  For instance, the thread-db layer should
> always (when in use) sit between lin-lwp and GDB for thread reporting,
> so that threads are reported with the correct TID.
> 
> [It's a little more complicated than that, in this case.  The TID is
> not available quite as early as the LWP is, so we have the LWP without
> its corresponding thread.  So GDB might have to handle the thread IDs
> changing during its lifetime; ew.]

I'm still thinking about this bit...

-- 
Daniel Jacobowitz


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]