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: [MI non-stop 10/11] Skip varobj in running threads.


On Sat, Jun 28, 2008 at 09:00:06PM +0400, Vladimir Prus wrote:
> 
> If a variable object is bound to a specific thread, and we're doing
> 
>   -var-update *
> 
> and varobj's thread is running, we cannot update varobj -- so we skip it.
> Will commit when core non-stop is in.

I think this needs to go in the manual.  Would it be helpful to
indicate to the front end that a variable could not be updated due to
a running thread?

If a varobj is bound to a particular thread that usually means it's
bound to a particular frame, right?  In which case reading it while
the target is running doesn't make (much) sense, so there's nothing
target specific about this.
> +	  if (thread_id == 0 && is_executing (inferior_ptid))
> +	    thread_running = 1;
> +	  else if (thread_id > 0)
> +	    {
> +	      struct thread_info *tp = find_thread_id (thread_id);
> +	      if (tp)
> +		thread_running = is_running (tp->ptid);
> +	    }

Why is_running in one place and is_executing in the other?

Should we try reading from something besides inferior_ptid for unbound
varobjs?

-- 
Daniel Jacobowitz
CodeSourcery


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