[PATCH v2 09/29] Thread options & clone events (Linux GDBserver)

Simon Marchi simark@simark.ca
Thu Jul 21 13:11:15 GMT 2022


> @@ -4268,15 +4280,16 @@ linux_set_resume_request (thread_info *thread, thread_resume *resume, size_t n)
>  	      continue;
>  	    }
>  
> -	  /* Don't let wildcard resumes resume fork children that GDB
> -	     does not yet know are new fork children.  */
> +	  /* Don't let wildcard resumes resume fork/clone children
> +	     that GDB does not yet know are new children.  */
>  	  if (lwp->fork_relative != NULL)
>  	    {
>  	      struct lwp_info *rel = lwp->fork_relative;
>  
>  	      if (rel->status_pending_p
>  		  && (rel->waitstatus.kind () == TARGET_WAITKIND_FORKED
> -		      || rel->waitstatus.kind () == TARGET_WAITKIND_VFORKED))
> +		      || rel->waitstatus.kind () == TARGET_WAITKIND_VFORKED
> +		      || rel->waitstatus.kind () == TARGET_WAITKIND_THREAD_CLONED))

This "is target_waitstatus with child" condition comes back again a few
times, this could the helper function I mentioned earlier.

Other than that, the changes in handle_extended_wait are quite
important, so it's a bit hard to be convinced it's all right, but I
didn't spot anything wrong.

Simon


More information about the Gdb-patches mailing list