diff --git a/drivers/e1000d/Cargo.toml b/drivers/e1000d/Cargo.toml index ec8c45e..dc01208 100644 --- a/drivers/e1000d/Cargo.toml +++ b/drivers/e1000d/Cargo.toml @@ -9,3 +9,7 @@ event = { path = "../../crates/event/" } io = { path = "../../crates/io/" } netutils = { path = "../../programs/netutils/" } redox_syscall = { path = "../../syscall/" } + +[replace] +"libc:0.2.17" = { git = "https://github.com/rust-lang/libc.git" } +"rand:0.3.14" = { git = "https://github.com/rust-lang-nursery/rand.git" } diff --git a/drivers/rtl8168d/Cargo.toml b/drivers/rtl8168d/Cargo.toml index e72a130..dbc13b9 100644 --- a/drivers/rtl8168d/Cargo.toml +++ b/drivers/rtl8168d/Cargo.toml @@ -9,3 +9,7 @@ event = { path = "../../crates/event/" } io = { path = "../../crates/io/" } netutils = { path = "../../programs/netutils/" } redox_syscall = { path = "../../syscall/" } + +[replace] +"libc:0.2.17" = { git = "https://github.com/rust-lang/libc.git" } +"rand:0.3.14" = { git = "https://github.com/rust-lang-nursery/rand.git" } diff --git a/kernel/scheme/pipe.rs b/kernel/scheme/pipe.rs index 30d0bd5..c608ed5 100644 --- a/kernel/scheme/pipe.rs +++ b/kernel/scheme/pipe.rs @@ -6,7 +6,7 @@ use scheme::{AtomicSchemeId, ATOMIC_SCHEMEID_INIT}; use sync::WaitCondition; use syscall::error::{Error, Result, EAGAIN, EBADF, EINVAL, EPIPE}; -use syscall::flag::{F_GETFL, F_SETFL, O_CLOEXEC, O_NONBLOCK}; +use syscall::flag::{F_GETFL, F_SETFL, O_ACCMODE, O_CLOEXEC, O_NONBLOCK}; use syscall::scheme::Scheme; /// Pipes list @@ -155,7 +155,7 @@ impl PipeRead { match cmd { F_GETFL => Ok(self.flags.load(Ordering::SeqCst)), F_SETFL => { - self.flags.store(arg, Ordering::SeqCst); + self.flags.store(arg & ! O_ACCMODE, Ordering::SeqCst); Ok(0) }, _ => Err(Error::new(EINVAL)) @@ -229,7 +229,7 @@ impl PipeWrite { match cmd { F_GETFL => Ok(self.flags.load(Ordering::SeqCst)), F_SETFL => { - self.flags.store(arg, Ordering::SeqCst); + self.flags.store(arg & ! O_ACCMODE, Ordering::SeqCst); Ok(0) }, _ => Err(Error::new(EINVAL)) diff --git a/programs/orbutils b/programs/orbutils index 1b92d72..81bde2c 160000 --- a/programs/orbutils +++ b/programs/orbutils @@ -1 +1 @@ -Subproject commit 1b92d72f5b4a2c693be659ee56708076fea44dc0 +Subproject commit 81bde2c5484eb8d2345194a60f8fd556f2c54853 diff --git a/programs/userutils b/programs/userutils index ba16f79..6305f22 160000 --- a/programs/userutils +++ b/programs/userutils @@ -1 +1 @@ -Subproject commit ba16f79ada8ef33960007143004f59e15c7610c4 +Subproject commit 6305f222ad6c1b00fce6930b7df5cb2a659df8b4 diff --git a/rust b/rust index 73f24d4..2e5c821 160000 --- a/rust +++ b/rust @@ -1 +1 @@ -Subproject commit 73f24d47dee367563019b18ac5089b91eded2753 +Subproject commit 2e5c821619c7b62ec46c8a4f90ead4e59fb6c36e diff --git a/schemes/ethernetd/Cargo.toml b/schemes/ethernetd/Cargo.toml index 6e10ca0..abeeaf3 100644 --- a/schemes/ethernetd/Cargo.toml +++ b/schemes/ethernetd/Cargo.toml @@ -6,3 +6,7 @@ version = "0.1.0" event = { path = "../../crates/event/" } netutils = { path = "../../programs/netutils/" } redox_syscall = { path = "../../syscall/" } + +[replace] +"libc:0.2.17" = { git = "https://github.com/rust-lang/libc.git" } +"rand:0.3.14" = { git = "https://github.com/rust-lang-nursery/rand.git" } diff --git a/schemes/ipd/Cargo.toml b/schemes/ipd/Cargo.toml index 23d2f3d..4400fc5 100644 --- a/schemes/ipd/Cargo.toml +++ b/schemes/ipd/Cargo.toml @@ -6,3 +6,7 @@ version = "0.1.0" event = { path = "../../crates/event/" } netutils = { path = "../../programs/netutils/" } redox_syscall = { path = "../../syscall/" } + +[replace] +"libc:0.2.17" = { git = "https://github.com/rust-lang/libc.git" } +"rand:0.3.14" = { git = "https://github.com/rust-lang-nursery/rand.git" } diff --git a/schemes/redoxfs b/schemes/redoxfs index 8449c5b..8a22d96 160000 --- a/schemes/redoxfs +++ b/schemes/redoxfs @@ -1 +1 @@ -Subproject commit 8449c5b6ad87ced01bcb82627cb85a8981337210 +Subproject commit 8a22d9666927cd2d7040711b7db4eb4dcf73fc48 diff --git a/schemes/tcpd/Cargo.toml b/schemes/tcpd/Cargo.toml index f4e7c5b..1f2b87e 100644 --- a/schemes/tcpd/Cargo.toml +++ b/schemes/tcpd/Cargo.toml @@ -10,3 +10,4 @@ redox_syscall = { path = "../../syscall/" } [replace] "libc:0.2.17" = { git = "https://github.com/rust-lang/libc.git" } +"rand:0.3.14" = { git = "https://github.com/rust-lang-nursery/rand.git" } diff --git a/schemes/udpd/Cargo.toml b/schemes/udpd/Cargo.toml index 67ef8fc..20675e7 100644 --- a/schemes/udpd/Cargo.toml +++ b/schemes/udpd/Cargo.toml @@ -10,3 +10,4 @@ redox_syscall = { path = "../../syscall/" } [replace] "libc:0.2.17" = { git = "https://github.com/rust-lang/libc.git" } +"rand:0.3.14" = { git = "https://github.com/rust-lang-nursery/rand.git" } diff --git a/syscall b/syscall index f48cbf2..cd6f7c2 160000 --- a/syscall +++ b/syscall @@ -1 +1 @@ -Subproject commit f48cbf22f3cf85e73f2dd778c3764ad430cd30e8 +Subproject commit cd6f7c219cc295e9d0b9f5068b107fd13f12af90