[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