36 lines
611 B
Rust
36 lines
611 B
Rust
use std::io;
|
|
|
|
#[cfg(unix)]
|
|
mod unix;
|
|
|
|
#[cfg(unix)]
|
|
pub use unix::*;
|
|
|
|
#[cfg(windows)]
|
|
mod windows;
|
|
|
|
#[cfg(windows)]
|
|
pub use windows::*;
|
|
|
|
/// Operating system signal.
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
|
pub enum Signal {
|
|
/// `SIGINT`.
|
|
Interrupt,
|
|
/// `SIGTERM`.
|
|
Terminate,
|
|
/// `SIGHUP`.
|
|
Hangup,
|
|
/// `SIGWINCH`.
|
|
WindowChanged,
|
|
}
|
|
|
|
/// Return an error indicating that signal handling is already installed.
|
|
#[inline(always)]
|
|
fn already_installed() -> io::Error {
|
|
io::Error::new(
|
|
io::ErrorKind::AlreadyExists,
|
|
"signal handling is already installed",
|
|
)
|
|
}
|