X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/ea77b9c3fc7fb9bf9d7f9604fc187c8049212a2a..a13ddcba315eaa75dca84dde30b17a78b2933354:/lunaix-os/kernel/process/process.c 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)) {