summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2007-11-15 06:35:26 +0000
committerjulian <julian@FreeBSD.org>2007-11-15 06:35:26 +0000
commit303014d009404b005be7a5870571244816930918 (patch)
tree56317105e823672d845e6a3d675fd5e519bcc6ab
parent438aba4018d449571345608b046ee4ad77b7e43a (diff)
downloadFreeBSD-src-303014d009404b005be7a5870571244816930918.zip
FreeBSD-src-303014d009404b005be7a5870571244816930918.tar.gz
This time REALLY copy the name from the proc to the thread as a default.
-rw-r--r--sys/kern/kern_kse.c1
-rw-r--r--sys/kern/kern_thr.c1
-rw-r--r--sys/kern/kern_thread.c1
3 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_kse.c b/sys/kern/kern_kse.c
index b80c007..a955fba 100644
--- a/sys/kern/kern_kse.c
+++ b/sys/kern/kern_kse.c
@@ -1045,6 +1045,7 @@ thread_schedule_upcall(struct thread *td, struct kse_upcall *ku)
__rangeof(struct thread, td_startcopy, td_endcopy));
sched_fork_thread(td, td2);
thread_link(td2, ku->ku_proc);
+ bcopy(ku->ku_comm, td2->td_name, sizeof(td2->td_name));
/* inherit parts of blocked thread's context as a good template */
cpu_set_upcall(td2, td);
/* Let the new thread become owner of the upcall */
diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c
index 6bf0ded..25bf8d1 100644
--- a/sys/kern/kern_thr.c
+++ b/sys/kern/kern_thr.c
@@ -231,6 +231,7 @@ create_thread(struct thread *td, mcontext_t *ctx,
newtd->td_sigmask = td->td_sigmask;
PROC_SLOCK(p);
thread_link(newtd, p);
+ bcopy(p->p_comm, newtd->td_name, sizeof(newtd->td_name));
thread_lock(td);
/* let the scheduler know about these things. */
sched_fork_thread(td, newtd);
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c
index 7fdfa20..7ff40eb 100644
--- a/sys/kern/kern_thread.c
+++ b/sys/kern/kern_thread.c
@@ -232,7 +232,6 @@ proc_linkup(struct proc *p, struct thread *td)
/* XXX p_ksi may be null if ksiginfo zone is not ready */
p->p_ksi->ksi_flags = KSI_EXT | KSI_INS;
}
- bcopy(p->p_comm, td->td_name, sizeof(td->td_name));
LIST_INIT(&p->p_mqnotifier);
p->p_numthreads = 0;
thread_link(td, p);
OpenPOWER on IntegriCloud