+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_nat_wait): Update inferior_ptid's ptid with
+ thread_change_ptid. Don't add or mark the main thread as running
+ and executing here.
+ * fork-child.c (fork_inferior): Add the main thread here.
+
2008-09-08 Jerome Guitton <guitton@adacore.com>
* rs6000-tdep.c (rs6000_fetch_instruction)
/* Needed for wait_for_inferior stuff below. */
inferior_ptid = pid_to_ptid (pid);
+ /* We have something that executes now. We'll be running through
+ the shell at this point, but the pid shouldn't change. Targets
+ supporting MT should fill this task's ptid with more data as soon
+ as they can. */
+ add_thread_silent (inferior_ptid);
+
/* Now that we have a child process, make it our target, and
initialize anything target-vector-specific that needs
initializing. */
{
gdb_assert (!is_lwp (inferior_ptid));
- inferior_ptid = BUILD_LWP (GET_PID (inferior_ptid),
- GET_PID (inferior_ptid));
+ /* Upgrade the main thread's ptid. */
+ thread_change_ptid (inferior_ptid,
+ BUILD_LWP (GET_PID (inferior_ptid),
+ GET_PID (inferior_ptid)));
+
lp = add_lwp (inferior_ptid);
lp->resumed = 1;
- /* Add the main thread to GDB's thread list. */
- add_thread_silent (lp->ptid);
- set_running (lp->ptid, 1);
- set_executing (lp->ptid, 1);
}
/* Block events while we're here. */