Add env
This commit is contained in:
parent
5b3aeb4a9f
commit
94ef9dd14a
7 changed files with 151 additions and 39 deletions
|
@ -66,6 +66,7 @@ pub fn clone(flags: usize, stack_base: usize) -> Result<usize> {
|
|||
let mut stack_option = None;
|
||||
let grants;
|
||||
let cwd;
|
||||
let env;
|
||||
let files;
|
||||
|
||||
// Copy from old process
|
||||
|
@ -181,6 +182,12 @@ pub fn clone(flags: usize, stack_base: usize) -> Result<usize> {
|
|||
cwd = Arc::new(Mutex::new(context.cwd.lock().clone()));
|
||||
}
|
||||
|
||||
if flags & CLONE_VM == CLONE_VM {
|
||||
env = context.env.clone();
|
||||
} else {
|
||||
env = Arc::new(Mutex::new(context.env.lock().clone()));
|
||||
}
|
||||
|
||||
if flags & CLONE_FILES == CLONE_FILES {
|
||||
files = context.files.clone();
|
||||
} else {
|
||||
|
@ -339,6 +346,8 @@ pub fn clone(flags: usize, stack_base: usize) -> Result<usize> {
|
|||
|
||||
context.cwd = cwd;
|
||||
|
||||
context.env = env;
|
||||
|
||||
context.files = files;
|
||||
|
||||
context.arch.set_page_table(unsafe { new_table.address() });
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue