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: [PATCH] Fix failure to detach if threads exit while detaching on linux


Pedro Alves writes:

> On 06/02/2016 03:16 PM, Antoine Tremblay wrote:
>
>> gdb/ChangeLog:
>> 
>> 	* inf-ptrace.c: include nat/linux-procfs.h.
>> 	(inf_ptrace_detach): Report an error only if the thread is not gone.
>
> Can't do this.  inf-ptrace.c is a shared file used by non-Linux ports too.
>

Oops I tought ptrace was linux specific, seems like bsd uses it too..

I think I can replace this with a try catch over  linux_ops->to_detach
(ops, args, from_tty); can call the rest of inf_ptrace_detach from there
I'll try it out...

>> 	* gdb.threads/detach-gone-thread.c: New file.
>> 	* gdb.threads/detach-gone-thread.ex: New test.
>
> Typo: ".ex".  Say "New file" for that one too.
>
>> +  _exit(0);
>

Done.

> Space before parenthesis.
>
>> +{
>> +  pthread_t threads[256];
>> +  int res;
>> +  int i;
>> +
>> +  pthread_barrier_init (&barrier, NULL, 257);
>> +
>> +  for (i = 0; i < 256; i++)
>
> Please add:
>
> #define NTHREADS 256
>
> and thus write:
>
>   pthread_t threads[NTHREADS];
>   int res;
>   int i;
>
>   pthread_barrier_init (&barrier, NULL, NTHREADS + 1);
>
>   for (i = 0; i < NTHREADS; i++)
>
>

Done.

>> +
>> +if $use_gdb_stub {
>
> Do this at the top, and call the new use_gdb_stub procedure instead:
>
> if [use_gdb_stub] {
>
>> +    # This test is about testing detaching from a process,
>> +    # so it doesn't make sense to run it if the target is stub-like.
>> +    unsupported "This test is not supported for GDB stub targets."
>
> But in any case, I'm not so sure about this.  Stub targets can
> detach too.  What problem did you find that needed this?
>

I did that because I though they could not detach...

Any suggestion on how to limit this to targets that can detach ?.. call
detach see if it suceeds or there's a better way ?

Thanks,
Antoine


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