From 580eab8ba5f28027b1de6b974bd09ec3466b2058 Mon Sep 17 00:00:00 2001 From: "Ibuki.O" Date: Fri, 17 Jul 2026 10:06:03 +0900 Subject: [PATCH] fix: Refresh filetable data before filetable creation --- redox-rt/src/sys.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/redox-rt/src/sys.rs b/redox-rt/src/sys.rs index 267e67e165..5116161408 100644 --- a/redox-rt/src/sys.rs +++ b/redox-rt/src/sys.rs @@ -969,7 +969,17 @@ impl FdTbl { pub fn from_binary_fd(filetable_fd: FdGuardUpper) -> Result { let mut fdtbl = Self::new(); let files_reader_fd = filetable_fd.as_raw_fd(); - let _ = filetable_fd.lseek(0, syscall::flag::SEEK_SET); + let buf = b"refresh"; + unsafe { + syscall::syscall4( + syscall::SYS_DUP2, + files_reader_fd, + files_reader_fd, + buf.as_ptr() as usize, + buf.len(), + ) + }?; + fdtbl.resize(Self::DEFAULT_CAPACITY); let mut reader = crate::proc::FileBufReader::from_fd(files_reader_fd);