[][src]Enum file_descriptors::SpecialFileOpenError

pub enum SpecialFileOpenError {
    Common(CreationError),
    WouldBlock,
    Interrupted,
    InvalidPath(InvalidPathReason),
    Terminal(TerminalSettingsError),
}

An error that can occur when opening one end of a FIFO (a named pipe) or a character device.

Variants

Common(CreationError)

Errors common to opening or creation of most file descriptors.

WouldBlock

A (possibly mandatory) file lock is held on the special file path.

Rationally, this would not seem to make sense but the Linux documentation doesn't make it clear if it is possible or not.

If this is encountered then an orderly shutdown is probably the only course of action as it is not possible to epoll for lock status changes on files that haven't even be opened.

Interrupted

EINTR occurred; this can be handled by either re-trying the open of a FIFO or might actual be fatal depending on the signal handling strategy in use.

InvalidPath(InvalidPathReason)

Invalid path.

Terminal(TerminalSettingsError)

Not a terminal.

Trait Implementations

impl Eq for SpecialFileOpenError[src]

impl Clone for SpecialFileOpenError[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Copy for SpecialFileOpenError[src]

impl PartialOrd<SpecialFileOpenError> for SpecialFileOpenError[src]

impl PartialEq<SpecialFileOpenError> for SpecialFileOpenError[src]

impl Ord for SpecialFileOpenError[src]

fn max(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl Hash for SpecialFileOpenError[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl Debug for SpecialFileOpenError[src]

impl Display for SpecialFileOpenError[src]

impl Error for SpecialFileOpenError[src]

fn description(&self) -> &str
1.0.0
[src]

This method is soft-deprecated. Read more

fn cause(&self) -> Option<&dyn Error>
1.0.0
[src]

Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

The lower-level cause of this error, if any. Read more

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]