From a0a600f0c68e7afa23f934f088b956026cce36a7 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 23 Dec 2016 09:42:38 -0700 Subject: [PATCH 1/2] Add Debug to OpenOptions and DirBuilder --- src/libstd/sys/redox/fs.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libstd/sys/redox/fs.rs b/src/libstd/sys/redox/fs.rs index e3bd77f400998..bff5ce4a1cf34 100644 --- a/src/libstd/sys/redox/fs.rs +++ b/src/libstd/sys/redox/fs.rs @@ -43,7 +43,7 @@ pub struct DirEntry { name: Box<[u8]> } -#[derive(Clone)] +#[derive(Clone, Debug)] pub struct OpenOptions { // generic read: bool, @@ -63,6 +63,7 @@ pub struct FilePermissions { mode: u16 } #[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)] pub struct FileType { mode: u16 } +#[derive(Debug)] pub struct DirBuilder { mode: u16 } impl FileAttr { From 9f9489b976b137cbff65b11f4e0a55199c4a1970 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 23 Dec 2016 12:21:29 -0700 Subject: [PATCH 2/2] Cloexec when creating directories --- src/libstd/sys/redox/fs.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libstd/sys/redox/fs.rs b/src/libstd/sys/redox/fs.rs index bff5ce4a1cf34..a8391d2b8982f 100644 --- a/src/libstd/sys/redox/fs.rs +++ b/src/libstd/sys/redox/fs.rs @@ -337,7 +337,7 @@ impl DirBuilder { } pub fn mkdir(&self, p: &Path) -> io::Result<()> { - let flags = syscall::O_CREAT | syscall::O_DIRECTORY | syscall::O_EXCL; + let flags = syscall::O_CREAT | syscall::O_CLOEXEC | syscall::O_DIRECTORY | syscall::O_EXCL; let fd = cvt(syscall::open(p.to_str().unwrap(), flags | (self.mode as usize & 0o777)))?; let _ = syscall::close(fd); Ok(())