{linux,bsd}-user: Update ts_tid after fork()

Currently ts_tid contains the parent tid after fork(), which is not
correct. So far it has not affected anything, but the upcoming
follow-fork-mode child support relies on the correct value, so fix it.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Warner Losh <imp@bsdimp.com>
Message-Id: <20240219141628.246823-4-iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-5-alex.bennee@linaro.org>
This commit is contained in:
Ilya Leoshkevich 2024-03-05 12:09:40 +00:00 committed by Alex Bennée
parent e4e5cb4a54
commit d4e1369abe
2 changed files with 2 additions and 0 deletions

View File

@ -134,6 +134,7 @@ void fork_end(int child)
* state, so we don't need to end_exclusive() here. * state, so we don't need to end_exclusive() here.
*/ */
qemu_init_cpu_list(); qemu_init_cpu_list();
get_task_state(thread_cpu)->ts_tid = qemu_get_thread_id();
gdbserver_fork(thread_cpu); gdbserver_fork(thread_cpu);
} else { } else {
mmap_fork_end(child); mmap_fork_end(child);

View File

@ -161,6 +161,7 @@ void fork_end(int child)
} }
} }
qemu_init_cpu_list(); qemu_init_cpu_list();
get_task_state(thread_cpu)->ts_tid = qemu_get_thread_id();
gdbserver_fork(thread_cpu); gdbserver_fork(thread_cpu);
} else { } else {
cpu_list_unlock(); cpu_list_unlock();