Page MenuHomeFreeBSD

D36069.id109010.diff
No OneTemporary

D36069.id109010.diff

diff --git a/sys/compat/linux/linux_fork.c b/sys/compat/linux/linux_fork.c
--- a/sys/compat/linux/linux_fork.c
+++ b/sys/compat/linux/linux_fork.c
@@ -280,8 +280,6 @@
if (error)
goto fail;
- cpu_copy_thread(newtd, td);
-
bzero(&newtd->td_startzero,
__rangeof(struct thread, td_startzero, td_endzero));
bcopy(&td->td_startcopy, &newtd->td_startcopy,
@@ -290,6 +288,8 @@
newtd->td_proc = p;
thread_cow_get(newtd, td);
+ cpu_copy_thread(newtd, td);
+
/* create the emuldata */
linux_proc_init(td, newtd, true);
diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c
--- a/sys/kern/kern_thr.c
+++ b/sys/kern/kern_thr.c
@@ -231,8 +231,6 @@
if (error)
goto fail;
- cpu_copy_thread(newtd, td);
-
bzero(&newtd->td_startzero,
__rangeof(struct thread, td_startzero, td_endzero));
bcopy(&td->td_startcopy, &newtd->td_startcopy,
@@ -241,6 +239,8 @@
newtd->td_rb_list = newtd->td_rbp_list = newtd->td_rb_inact = 0;
thread_cow_get(newtd, td);
+ cpu_copy_thread(newtd, td);
+
error = initialize_thread(newtd, thunk);
if (error != 0) {
thread_cow_free(newtd);

File Metadata

Mime Type
text/plain
Expires
Wed, Dec 18, 8:39 AM (15 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15479520
Default Alt Text
D36069.id109010.diff (1 KB)

Event Timeline