X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/c50398ab4cb09658b3b3fff74804d2f26df785e7..a13ddcba315eaa75dca84dde30b17a78b2933354:/lunaix-os/kernel/process/process.c?ds=sidebyside diff --git a/lunaix-os/kernel/process/process.c b/lunaix-os/kernel/process/process.c index 82f1ffa..8df3f2c 100644 --- a/lunaix-os/kernel/process/process.c +++ b/lunaix-os/kernel/process/process.c @@ -196,6 +196,8 @@ dup_proc() pcb->intr_ctx = __current->intr_ctx; pcb->parent = __current; + memcpy(pcb->fxstate, __current->fxstate, 512); + if (__current->cwd) { pcb->cwd = __current->cwd; vfs_ref_dnode(pcb->cwd); @@ -209,7 +211,7 @@ dup_proc() // 根据 mm_region 进一步配置页表 struct mm_region *pos, *n; - llist_for_each(pos, n, &pcb->mm.regions.head, head) + llist_for_each(pos, n, &pcb->mm.regions, head) { // 如果写共享,则不作处理。 if ((pos->attr & REGION_WSHARED)) {