Browse Source

Add the ISIG syscall back to not kill the client withing a shell with ctrl+c.

David Calavera 12 years ago
parent
commit
b54ba5095b
2 changed files with 2 additions and 2 deletions
  1. 1 1
      term/termios_darwin.go
  2. 1 1
      term/termios_linux.go

+ 1 - 1
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

+ 1 - 1
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