[rfa] Assume thread-db loaded over a live process

Michael Snyder msnyder@redhat.com
Tue Sep 14 00:42:00 GMT 2004


Daniel Jacobowitz wrote:
> On Mon, Sep 13, 2004 at 10:51:39PM +0000, Michael Snyder wrote:
> 
>>Andrew Cagney wrote:
>>
>>>>Andrew Cagney wrote:
>>>>
>>>>
>>>>>Hello,
>>>>>
>>>>>This patch changes:
>>>>>
>>>>>-      /* We can only poke around if there actually is a child process.
>>>>>-         If there is no child process alive, postpone the steps below
>>>>>-         until one has been created.  */
>>>>>-      if (proc_handle.pid != 0)
>>>>>-       {
>>>>>-         enable_thread_event_reporting ();
>>>>>-         thread_db_find_new_threads ();
>>>>>-       }
>>>>>+      enable_thread_event_reporting ();
>>>>>+      thread_db_find_new_threads ();
>>>>>
>>>>>this code is only executed when there is a child process so the guard 
>>>>>isn't needed.    Tested on GNU/Linux, no change in test results.
>>>>>
>>>>>ok?
>>>>
>>>>
>>>>
>>>>From memory, I think this code was to guard against the corefile case.
>>>
>>>>When you load a corefile, you may call thread_db_new_objfile, but
>>>>you won't have a child process.  Is that no longer the case?  Does
>>>>loading a corefile no longer cause this function to be called?
>>>
>>>
>>>This code is only executed when there is a child process.  As you note, 
>>>when loading a core file there is no child process (and as daniel 
>>>pointed out, !target_has_execution holds) so this code is not executed.
>>
>>That's what I don't understand, Andrew.  This code *used to* get
>>called for a corefile.  What's changed?  As far as I can see,
>>it will get called from symbol_file_add.  In my existing July
>>build, it does.
> 
> 
> Um, is that July of _this_ year?  There's a !target_has_execution check
> up above it.

Ah.  OK.  I only checked to see if the function was called.
Now I see that this code doesn't get reached.

OK, sorry for the confusion -- the change looks fine to me.



More information about the Gdb-patches mailing list