This is the mail archive of the gdb-patches@sourceware.org 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: handle leader exits; don't get stuck when all resumed threads exit


On Friday 28 October 2011 15:01:30, Pedro Alves wrote:
> And below's the full patch.  I'll apply it later today if there
> are no further comments.

Alright, I've applied it.  Here's to hoping I haven't broken anything!

> 2011-10-28  Pedro Alves  <pedro@codesourcery.com>
> 
>         gdb/
>         * linux-nat.c (linux_nat_filter_event): Remove `options'
>         parameter, and dead code that used it.  If we're handling a
>         PTRACE_EVENT_EXEC event, and the thread group leader is no longer
>         in our lwp list, re-add it.
>         (check_zombie_leaders): New.
>         (linux_nat_wait_1): Remove `options' and `pid' locals.  Always
>         wait for children with WNOHANG, and always wait for all children.
>         Don't check for no resumed children upfront.  Simplify wait loop.
>         Check for zombie thread group leaders after handling all wait
>         statuses.  Return TARGET_WAITKIND_NO_RESUMED if there no
>         unwaited-for children left.
>         * infrun.c (fetch_inferior_event): Handle TARGET_WAITKIND_NO_RESUMED.
>         (handle_inferior_event): Handle TARGET_WAITKIND_NO_RESUMED.
>         (normal_stop): Handle TARGET_WAITKIND_NO_RESUMED.
>         * target.h (enum target_waitkind) <TARGET_WAITKIND_NO_RESUMED>: New.
> 
>         gdb/testsuite/
>         * gdb.threads/no-unwaited-for-left.c: New.
>         * gdb.threads/no-unwaited-for-left.exp: New.
>         * gdb.threads/non-ldr-exc-1.c: New.
>         * gdb.threads/non-ldr-exc-1.exp: New.
>         * gdb.threads/non-ldr-exc-2.c: New.
>         * gdb.threads/non-ldr-exc-2.exp: New.
>         * gdb.threads/non-ldr-exc-3.c: New.
>         * gdb.threads/non-ldr-exc-3.exp: New.
>         * gdb.threads/non-ldr-exc-4.c: New.
>         * gdb.threads/non-ldr-exc-4.exp: New.

-- 
Pedro Alves


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