1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
#[derive(Clone, Copy, PartialEq, Eq, Debug)] pub enum WrongValueError { /// The futex value did not match the expected value. WrongValue, } #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub enum WaitError { /// The futex value did not match the expected value. WrongValue, /// The operation was interrupted by a signal. Interrupted, } #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub enum TimedWaitError { /// The futex value did not match the expected value. WrongValue, /// The operation was interrupted by a signal. Interrupted, /// The timeout expired before the operation completed. TimedOut, } #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub enum TryAgainError { /// The futex owner thread is about to exit, or the futex value did not match the expected value. TryAgain, } #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub enum TimedLockError { /// The futex owner thread is about to exit, but has not yet handled the internal state cleanup. Try again. TryAgain, /// The timeout expired before the operation completed. TimedOut, } #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub enum TimedRequeueError { /// The futex value did not match the expected value. WrongValue, /// The timeout expired before the operation completed. TimedOut, } #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub enum RequeuePiError { /// The futex value did not match the expected value, or the thread was woken up without being requeued to the [`PiFutex`][crate::PiFutex] first. TryAgain, } #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub enum TimedRequeuePiError { /// The futex value did not match the expected value, or the thread was woken up without being requeued to the [`PiFutex`][crate::PiFutex] first. TryAgain, /// The timeout expired before the operation completed. TimedOut, }