From b54ba5095bc8b9323a3649806df98345cbe1f3b0 Mon Sep 17 00:00:00 2001 From: David Calavera Date: Sat, 17 Aug 2013 21:08:00 -0700 Subject: [PATCH] Add the ISIG syscall back to not kill the client withing a shell with ctrl+c. --- term/termios_darwin.go | 2 +- term/termios_linux.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/term/termios_darwin.go b/term/termios_darwin.go index 0f6b24b184..24e79de4b2 100644 --- a/term/termios_darwin.go +++ b/term/termios_darwin.go @@ -44,7 +44,7 @@ func MakeRaw(fd uintptr) (*State, error) { newState.Iflag &^= (ISTRIP | INLCR | IGNCR | IXON | IXOFF) newState.Iflag |= ICRNL newState.Oflag |= ONLCR - newState.Lflag &^= (ECHO | ICANON) + newState.Lflag &^= (ECHO | ICANON | ISIG) if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, uintptr(setTermios), uintptr(unsafe.Pointer(&newState))); err != 0 { return nil, err diff --git a/term/termios_linux.go b/term/termios_linux.go index 22f4fff430..6a76460a54 100644 --- a/term/termios_linux.go +++ b/term/termios_linux.go @@ -33,7 +33,7 @@ func MakeRaw(fd uintptr) (*State, error) { newState.Iflag &^= (syscall.IGNBRK | syscall.BRKINT | syscall.PARMRK | syscall.ISTRIP | syscall.INLCR | syscall.IGNCR | syscall.ICRNL | syscall.IXON) newState.Oflag &^= syscall.OPOST - newState.Lflag &^= (syscall.ECHO | syscall.ECHONL | syscall.ICANON | syscall.IEXTEN) + newState.Lflag &^= (syscall.ECHO | syscall.ECHONL | syscall.ICANON | syscall.ISIG | syscall.EXTEN) newState.Cflag &^= (syscall.CSIZE | syscall.PARENB) newState.Cflag |= syscall.CS8