Skip to content

Commit fd27982

Browse files
committed
Implement fmt::Display for Signal
1 parent 7c3782a commit fd27982

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

src/process.rs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,50 @@ impl Signal {
626626
}
627627
}
628628

629+
impl fmt::Display for Signal {
630+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
631+
f.write_str(match *self {
632+
Signal::HUP => "hangup",
633+
Signal::INTERRUPT => "interrupt",
634+
Signal::QUIT => "quit",
635+
Signal::ILLEGAL => "illegal",
636+
Signal::TRAP => "trap",
637+
Signal::ABORT => "abort",
638+
#[allow(unreachable_patterns)] // Same as ABORT.
639+
Signal::IOT => "iot",
640+
Signal::KILL => "kill",
641+
Signal::BUS => "bus",
642+
Signal::FP_ERROR => "floating-point-error",
643+
Signal::USER1 => "user-1",
644+
Signal::USER2 => "user-2",
645+
Signal::SEG_VAULT => "segfault",
646+
Signal::PIPE => "pipe",
647+
Signal::ALARM => "alarm",
648+
Signal::TERMINATION => "termination",
649+
Signal::CHILD => "child",
650+
Signal::CONTINUE => "continue",
651+
Signal::STOP => "stop",
652+
Signal::TERM_STOP => "terminal stop",
653+
Signal::TTY_IN => "terminal-input",
654+
Signal::TTY_OUT => "terminal-output",
655+
Signal::URGENT => "urgent",
656+
Signal::EXCEEDED_CPU => "exceeded-cpu",
657+
Signal::EXCEEDED_FILE_SIZE => "excess-file-size",
658+
Signal::VIRTUAL_ALARM => "virtual-alarm",
659+
Signal::PROFILE_ALARM => "profile-alarm",
660+
Signal::WINDOW_RESIZE => "window-change",
661+
Signal::IO => "I/O",
662+
#[cfg(any(target_os = "android", target_os = "linux"))]
663+
#[allow(unreachable_patterns)] // Same as IO.
664+
Signal::POLL => "poll",
665+
#[cfg(any(target_os = "android", target_os = "linux"))]
666+
Signal::PWR => "power-failure",
667+
Signal::SYS => "bad-syscall",
668+
_ => return write!(f, "Signal({})", self.0),
669+
})
670+
}
671+
}
672+
629673
/// Who to send a signal to, see [`send_signal`].
630674
#[derive(Copy, Clone, Debug)]
631675
pub enum To {

0 commit comments

Comments
 (0)