Minimize locking in schemes. Reenable pcid and ion launch in init. WIP: Userspace schemes
This commit is contained in:
parent
94ad63de11
commit
abdbadfea3
9 changed files with 367 additions and 113 deletions
|
@ -178,9 +178,12 @@ pub fn clone(flags: usize, stack_base: usize) -> Result<usize> {
|
|||
for (fd, file_option) in context.files.lock().iter().enumerate() {
|
||||
if let Some(file) = *file_option {
|
||||
let result = {
|
||||
let schemes = scheme::schemes();
|
||||
let scheme_mutex = schemes.get(file.scheme).ok_or(Error::BadFile)?;
|
||||
let result = scheme_mutex.lock().dup(file.number);
|
||||
let scheme = {
|
||||
let schemes = scheme::schemes();
|
||||
let scheme = schemes.get(file.scheme).ok_or(Error::BadFile)?;
|
||||
scheme.clone()
|
||||
};
|
||||
let result = scheme.dup(file.number);
|
||||
result
|
||||
};
|
||||
match result {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue