Update image and Rust toolchain

This commit is contained in:
Zhang Junyang
2023-12-02 17:23:08 +08:00
committed by Tate, Hongliang Tian
parent 97323f612b
commit 12d01ca1e4
24 changed files with 69 additions and 72 deletions

View File

@ -17,7 +17,6 @@
#![feature(linked_list_remove)]
#![feature(trait_alias)]
#![feature(register_tool)]
#![feature(trait_upcasting)]
#![feature(format_args_nl)]
#![feature(int_roundings)]
#![feature(step_trait)]

View File

@ -21,7 +21,9 @@ impl Inner {
return;
};
if let Some(leader) = &self.leader && Arc::ptr_eq(leader, &process) {
if let Some(leader) = &self.leader
&& Arc::ptr_eq(leader, &process)
{
self.leader = None;
}
}

View File

@ -28,7 +28,9 @@ impl Inner {
}
pub(in crate::process) fn remove_process(&mut self, process: &Arc<Process>) {
if let Some(leader) = &self.leader && Arc::ptr_eq(leader, process) {
if let Some(leader) = &self.leader
&& Arc::ptr_eq(leader, process)
{
self.leader = None;
}
}

View File

@ -111,7 +111,7 @@ impl Elf {
// An offset to be subtracted from ELF vaddr for PIE
pub fn base_load_address_offset(&self) -> u64 {
let phdr = self.program_headers.get(0).unwrap();
let phdr = self.program_headers.first().unwrap();
phdr.virtual_addr - phdr.offset
}
}

View File

@ -199,12 +199,14 @@ fn base_map_addr(elf: &Elf, root_vmar: &Vmar<Full>) -> Result<Vaddr> {
.program_headers
.iter()
.filter_map(|program_header| {
if let Ok(type_) = program_header.get_type() && type_ == program::Type::Load {
let ph_max_addr = program_header.virtual_addr + program_header.mem_size;
Some(ph_max_addr as usize)
} else {
None
}
if let Ok(type_) = program_header.get_type()
&& type_ == program::Type::Load
{
let ph_max_addr = program_header.virtual_addr + program_header.mem_size;
Some(ph_max_addr as usize)
} else {
None
}
})
.max()
.ok_or(Error::with_message(

View File

@ -122,15 +122,21 @@ fn do_select(
let fd = poll_fd.fd().unwrap();
let revents = poll_fd.revents().get();
let (readable, writable, except) = convert_events_to_rwe(&revents);
if let Some(ref mut fds) = readfds && readable {
if let Some(ref mut fds) = readfds
&& readable
{
fds.set(fd)?;
total_revents += 1;
}
if let Some(ref mut fds) = writefds && writable {
if let Some(ref mut fds) = writefds
&& writable
{
fds.set(fd)?;
total_revents += 1;
}
if let Some(ref mut fds) = exceptfds && except {
if let Some(ref mut fds) = exceptfds
&& except
{
fds.set(fd)?;
total_revents += 1;
}

View File

@ -1,10 +1,7 @@
mod addr;
mod socket;
pub use addr::{
read_socket_addr_from_user, write_socket_addr_to_user, InetAddr, SaFamily, SockAddr,
SockAddrInet, SockAddrInet6, SockAddrUnix,
};
pub use addr::{read_socket_addr_from_user, write_socket_addr_to_user, SaFamily};
pub use socket::{Protocol, SockFlags, SockType, SOCK_TYPE_MASK};
#[macro_export]