git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into prog-loader
[lunaix-os.git]
/
lunaix-os
/
kernel
/
process
/
process.c
diff --git
a/lunaix-os/kernel/process/process.c
b/lunaix-os/kernel/process/process.c
index 82f1ffa7dcec24bd10e15f09bae93f3e66b0d899..8df3f2c9ef8090422000c7dbf60116220730ccbe 100644
(file)
--- 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;
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);
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;
// 根据 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)) {
{
// 如果写共享,则不作处理。
if ((pos->attr & REGION_WSHARED)) {