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: [patch] Use TD_DEATH and PTRACE_EVENT_CLONE when available (was: Re: [RFC]: fix for recycled thread ids)


On Fri, Mar 26, 2004 at 12:59:06PM -0500, Daniel Jacobowitz wrote:
> On Thu, Mar 25, 2004 at 03:22:13PM -0500, Jeff Johnston wrote:
> > 
> > Daniel Jacobowitz wrote:
> > >On Wed, Mar 24, 2004 at 11:39:50PM -0500, Daniel Jacobowitz wrote:
> > >
> > >>Do you have any code for PTRACE_EVENT_CLONE yet, or should I put
> > >>something together in the morning to verify whether that's the problem?
> > >
> > >
> > >Here you go.  Again, this patch is obviously not ready to go into GDB,
> > >but I have not been able to make it misbehave yet.  I don't know if all
> > >the bits it needs work right in RHEL3, or if my testing was conclusive.
> > >
> > >The highlights:
> > >  - Includes most of the previous patch
> > >  - Uses PTRACE_EVENT_CLONE to attach to new threads
> > >  - Moves handling of events closer to the waitpid call
> > >
> > >There are some potential races but I haven't hit any of them in
> > >practice.  I suspect that with a heavy fork or vfork load (not clone)
> > >you could produce interesting failure modes.
> > >
> > >Give it a try, please.  If it works I'll clean it up.
> > >
> > 
> > Works great.  I was unable to get it to misbehave on RHEL3.  Please go 
> > ahead cleaning it up.
> 
> Here's the final patch. The description of the patch is unchanged from
> the above.  The background, for those who did not read the whole
> discussion: in NPTL, a signal delivered to the process when any thread
> is not attached is likely to terminate the process.  So we need to be
> careful to:
>  - know when threads have exited, so that we can attach to new threads
>    which reuse the same thread ID
>  - attach to threads as early as possible
> 
> Both of these could cause problems in LinuxThreads, but they were less
> drastic.
> 
> Tested with both LinuxThreads and NPTL.  I'll commit this to HEAD on
> Monday, barring objections.  We've missed the boat for GDB 6.1 at this
> point.

I've checked this in for HEAD.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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