Dont use the syscall package

This commit is contained in:
Kovid Goyal 2022-08-25 05:46:51 +05:30
parent e68b5fa504
commit 9be2247081
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
5 changed files with 25 additions and 39 deletions

View File

@ -5,7 +5,6 @@ import (
"io"
"kitty/tools/tty"
"os"
"syscall"
"time"
"golang.org/x/sys/unix"
@ -220,11 +219,11 @@ func (self *Loop) ScreenSize() (ScreenSize, error) {
func (self *Loop) KillIfSignalled() {
switch self.death_signal {
case SIGINT:
syscall.Kill(os.Getpid(), syscall.SIGINT)
unix.Kill(os.Getpid(), unix.SIGINT)
case SIGTERM:
syscall.Kill(os.Getpid(), syscall.SIGTERM)
unix.Kill(os.Getpid(), unix.SIGTERM)
case SIGHUP:
syscall.Kill(os.Getpid(), syscall.SIGHUP)
unix.Kill(os.Getpid(), unix.SIGHUP)
}
}

View File

@ -2,9 +2,9 @@ package tui
import (
"fmt"
"golang.org/x/sys/unix"
"os"
"os/signal"
"syscall"
)
type Signal byte
@ -56,53 +56,53 @@ func as_signal(which os.Signal) Signal {
switch which {
case os.Interrupt:
return SIGINT
case syscall.SIGTERM:
case unix.SIGTERM:
return SIGTERM
case syscall.SIGTSTP:
case unix.SIGTSTP:
return SIGTSTP
case syscall.SIGHUP:
case unix.SIGHUP:
return SIGHUP
case syscall.SIGTTIN:
case unix.SIGTTIN:
return SIGTTIN
case syscall.SIGTTOU:
case unix.SIGTTOU:
return SIGTTOU
case syscall.SIGUSR1:
case unix.SIGUSR1:
return SIGUSR1
case syscall.SIGUSR2:
case unix.SIGUSR2:
return SIGUSR2
case syscall.SIGALRM:
case unix.SIGALRM:
return SIGALRM
case syscall.SIGWINCH:
case unix.SIGWINCH:
return SIGWINCH
default:
return SIGNULL
}
}
const zero_go_signal = syscall.Signal(0)
const zero_go_signal = unix.Signal(0)
func as_go_signal(which Signal) os.Signal {
switch which {
case SIGINT:
return os.Interrupt
case SIGTERM:
return syscall.SIGTERM
return unix.SIGTERM
case SIGTSTP:
return syscall.SIGTSTP
return unix.SIGTSTP
case SIGHUP:
return syscall.SIGHUP
return unix.SIGHUP
case SIGTTIN:
return syscall.SIGTTIN
return unix.SIGTTIN
case SIGTTOU:
return syscall.SIGTTOU
return unix.SIGTTOU
case SIGUSR1:
return syscall.SIGUSR1
return unix.SIGUSR1
case SIGUSR2:
return syscall.SIGUSR2
return unix.SIGUSR2
case SIGALRM:
return syscall.SIGALRM
return unix.SIGALRM
case SIGWINCH:
return syscall.SIGWINCH
return unix.SIGWINCH
default:
return zero_go_signal
}

View File

@ -2,26 +2,13 @@ package utils
import (
"io"
"syscall"
"time"
"golang.org/x/sys/unix"
)
const (
DEFAULT_IO_BUFFER_SIZE = 8192
)
func NsecToTimespec(d time.Duration) unix.Timespec {
nv := syscall.NsecToTimespec(int64(d))
return unix.Timespec{Sec: nv.Sec, Nsec: nv.Nsec}
}
func NsecToTimeval(d time.Duration) unix.Timeval {
nv := syscall.NsecToTimeval(int64(d))
return unix.Timeval{Sec: nv.Sec, Usec: nv.Usec}
}
type BytesReader struct {
Data []byte
}

View File

@ -12,6 +12,6 @@ func Select(nfd int, r *unix.FdSet, w *unix.FdSet, e *unix.FdSet, timeout time.D
if timeout < 0 {
return unix.Pselect(nfd, r, w, e, nil, nil)
}
ts := NsecToTimespec(timeout)
ts := unix.NsecToTimespec(int64(timeout))
return unix.Pselect(nfd, r, w, e, &ts, nil)
}

View File

@ -14,6 +14,6 @@ func Select(nfd int, r *unix.FdSet, w *unix.FdSet, e *unix.FdSet, timeout time.D
if timeout < 0 {
return unix.Select(nfd, r, w, e, nil)
}
ts := NsecToTimeval(timeout)
ts := unix.NsecToTimeval(int64(timeout))
return unix.Select(nfd, r, w, e, &ts)
}