diff options
Diffstat (limited to 'ops/posix_mq.rs/src')
-rw-r--r-- | ops/posix_mq.rs/src/error.rs | 6 | ||||
-rw-r--r-- | ops/posix_mq.rs/src/lib.rs | 26 | ||||
-rw-r--r-- | ops/posix_mq.rs/src/tests.rs | 2 |
3 files changed, 13 insertions, 21 deletions
diff --git a/ops/posix_mq.rs/src/error.rs b/ops/posix_mq.rs/src/error.rs index 1a0c069a89b0..1ef585c01efb 100644 --- a/ops/posix_mq.rs/src/error.rs +++ b/ops/posix_mq.rs/src/error.rs @@ -43,7 +43,7 @@ pub enum Error { // If an unhandled / unknown / unexpected error occurs this error will be used. // In those cases bug reports would be welcome! - UnknownForeignError(nix::Errno), + UnknownForeignError(nix::errno::Errno), // Some other unexpected / unknown error occured. This is probably an error from // the nix crate. Bug reports also welcome for this! @@ -112,8 +112,8 @@ impl From<num::ParseIntError> for Error { } -fn match_errno(err: nix::Errno) -> Error { - use nix::errno::*; +fn match_errno(err: nix::errno::Errno) -> Error { + use nix::errno::Errno::*; match err { EACCES => Error::PermissionDenied(), diff --git a/ops/posix_mq.rs/src/lib.rs b/ops/posix_mq.rs/src/lib.rs index b8f2fed10b77..057601eccfbd 100644 --- a/ops/posix_mq.rs/src/lib.rs +++ b/ops/posix_mq.rs/src/lib.rs @@ -16,14 +16,6 @@ pub mod error; #[cfg(test)] mod tests; -/* -TODO: - -* what happens if permissions change after FD was opened? -* drop dependency on nix crate? - -*/ - /// Wrapper type for queue names that performs basic validation of queue names before calling /// out to C code. #[derive(Debug, Clone, PartialEq)] @@ -97,11 +89,11 @@ impl Queue { let oflags = { let mut flags = mqueue::MQ_OFlag::empty(); // Put queue in r/w mode - flags.toggle(mqueue::O_RDWR); + flags.toggle(mqueue::MQ_OFlag::O_RDWR); // Enable queue creation - flags.toggle(mqueue::O_CREAT); + flags.toggle(mqueue::MQ_OFlag::O_CREAT); // Fail if queue exists already - flags.toggle(mqueue::O_EXCL); + flags.toggle(mqueue::MQ_OFlag::O_EXCL); flags }; @@ -128,7 +120,7 @@ impl Queue { pub fn open(name: Name) -> Result<Queue, Error> { // No extra flags need to be constructed as the default is to open and fail if the // queue does not exist yet - which is what we want here. - let oflags = mqueue::O_RDWR; + let oflags = mqueue::MQ_OFlag::O_RDWR; let queue_descriptor = mqueue::mq_open( &name.0, oflags, @@ -151,9 +143,9 @@ impl Queue { let oflags = { let mut flags = mqueue::MQ_OFlag::empty(); // Put queue in r/w mode - flags.toggle(mqueue::O_RDWR); + flags.toggle(mqueue::MQ_OFlag::O_RDWR); // Enable queue creation - flags.toggle(mqueue::O_CREAT); + flags.toggle(mqueue::MQ_OFlag::O_CREAT); flags }; @@ -239,8 +231,8 @@ impl Drop for Queue { // Creates the default queue mode (0600). fn default_mode() -> stat::Mode { let mut mode = stat::Mode::empty(); - mode.toggle(stat::S_IRUSR); - mode.toggle(stat::S_IWUSR); + mode.toggle(stat::Mode::S_IRUSR); + mode.toggle(stat::Mode::S_IWUSR); mode } @@ -271,7 +263,7 @@ fn mq_getattr(mqd: mqd_t) -> Result<libc::mq_attr, Error> { use std::mem; let mut attr = unsafe { mem::uninitialized::<libc::mq_attr>() }; let res = unsafe { libc::mq_getattr(mqd, &mut attr) }; - nix::Errno::result(res) + nix::errno::Errno::result(res) .map(|_| attr) .map_err(|e| e.into()) } diff --git a/ops/posix_mq.rs/src/tests.rs b/ops/posix_mq.rs/src/tests.rs index 0018e40dacd3..7a08876aeacd 100644 --- a/ops/posix_mq.rs/src/tests.rs +++ b/ops/posix_mq.rs/src/tests.rs @@ -18,5 +18,5 @@ fn test_open_delete() { assert_eq!(message, result); - queue.delete(); + queue.delete().expect("deleting queue failed"); } |