Create & Init Project...
This commit is contained in:
35
library/syscall/BUILD
Normal file
35
library/syscall/BUILD
Normal file
@ -0,0 +1,35 @@
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_library",
|
||||
"go_test",
|
||||
)
|
||||
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
filegroup(
|
||||
name = "package-srcs",
|
||||
srcs = glob(["**"]),
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [":package-srcs"],
|
||||
tags = ["automanaged"],
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["syscall.go"],
|
||||
importpath = "go-common/library/syscall",
|
||||
tags = ["automanaged"],
|
||||
)
|
||||
|
||||
go_test(
|
||||
name = "go_default_test",
|
||||
srcs = ["syscall_test.go"],
|
||||
embed = [":go_default_library"],
|
||||
rundir = ".",
|
||||
tags = ["automanaged"],
|
||||
)
|
46
library/syscall/syscall.go
Normal file
46
library/syscall/syscall.go
Normal file
@ -0,0 +1,46 @@
|
||||
// +build !windows
|
||||
|
||||
package syscall
|
||||
|
||||
import (
|
||||
gosyscall "syscall"
|
||||
)
|
||||
|
||||
// Signals
|
||||
const (
|
||||
SIGABRT = gosyscall.Signal(0x6)
|
||||
SIGALRM = gosyscall.Signal(0xe)
|
||||
SIGBUS = gosyscall.Signal(0x7)
|
||||
SIGCHLD = gosyscall.Signal(0x11)
|
||||
SIGCLD = gosyscall.Signal(0x11)
|
||||
SIGCONT = gosyscall.Signal(0x12)
|
||||
SIGFPE = gosyscall.Signal(0x8)
|
||||
SIGHUP = gosyscall.Signal(0x1)
|
||||
SIGILL = gosyscall.Signal(0x4)
|
||||
SIGINT = gosyscall.Signal(0x2)
|
||||
SIGIO = gosyscall.Signal(0x1d)
|
||||
SIGIOT = gosyscall.Signal(0x6)
|
||||
SIGKILL = gosyscall.Signal(0x9)
|
||||
SIGPIPE = gosyscall.Signal(0xd)
|
||||
SIGPOLL = gosyscall.Signal(0x1d)
|
||||
SIGPROF = gosyscall.Signal(0x1b)
|
||||
SIGPWR = gosyscall.Signal(0x1e)
|
||||
SIGQUIT = gosyscall.Signal(0x3)
|
||||
SIGSEGV = gosyscall.Signal(0xb)
|
||||
SIGSTKFLT = gosyscall.Signal(0x10)
|
||||
SIGSTOP = gosyscall.Signal(0x13)
|
||||
SIGSYS = gosyscall.Signal(0x1f)
|
||||
SIGTERM = gosyscall.Signal(0xf)
|
||||
SIGTRAP = gosyscall.Signal(0x5)
|
||||
SIGTSTP = gosyscall.Signal(0x14)
|
||||
SIGTTIN = gosyscall.Signal(0x15)
|
||||
SIGTTOU = gosyscall.Signal(0x16)
|
||||
SIGUNUSED = gosyscall.Signal(0x1f)
|
||||
SIGURG = gosyscall.Signal(0x17)
|
||||
SIGUSR1 = gosyscall.Signal(0xa)
|
||||
SIGUSR2 = gosyscall.Signal(0xc)
|
||||
SIGVTALRM = gosyscall.Signal(0x1a)
|
||||
SIGWINCH = gosyscall.Signal(0x1c)
|
||||
SIGXCPU = gosyscall.Signal(0x18)
|
||||
SIGXFSZ = gosyscall.Signal(0x19)
|
||||
)
|
16
library/syscall/syscall_test.go
Normal file
16
library/syscall/syscall_test.go
Normal file
@ -0,0 +1,16 @@
|
||||
// +build !windows
|
||||
|
||||
package syscall
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestSignal(t *testing.T) {
|
||||
if int(SIGSTOP) != 0x13 {
|
||||
t.FailNow()
|
||||
}
|
||||
if int(SIGXFSZ) != 0x19 {
|
||||
t.FailNow()
|
||||
}
|
||||
}
|
60
library/syscall/syscall_windows.go
Normal file
60
library/syscall/syscall_windows.go
Normal file
@ -0,0 +1,60 @@
|
||||
package syscall
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
gosyscall "syscall"
|
||||
)
|
||||
|
||||
// Signal for windows.
|
||||
// These Signals won't be registered by invoking signal.Notify.
|
||||
// Use these signal to avoid build error on Windows.
|
||||
type Signal int
|
||||
|
||||
// Signal nothing here
|
||||
func (s Signal) Signal() {}
|
||||
|
||||
func (s Signal) String() string {
|
||||
return fmt.Sprintf("windows signal %d", int(s))
|
||||
}
|
||||
|
||||
// Signals for windows.
|
||||
const (
|
||||
// More invented values for signals
|
||||
SIGHUP = gosyscall.Signal(0x1)
|
||||
SIGINT = gosyscall.Signal(0x2)
|
||||
SIGQUIT = gosyscall.Signal(0x3)
|
||||
SIGILL = gosyscall.Signal(0x4)
|
||||
SIGTRAP = gosyscall.Signal(0x5)
|
||||
SIGABRT = gosyscall.Signal(0x6)
|
||||
SIGBUS = gosyscall.Signal(0x7)
|
||||
SIGFPE = gosyscall.Signal(0x8)
|
||||
SIGKILL = gosyscall.Signal(0x9)
|
||||
SIGSEGV = gosyscall.Signal(0xb)
|
||||
SIGPIPE = gosyscall.Signal(0xd)
|
||||
SIGALRM = gosyscall.Signal(0xe)
|
||||
SIGTERM = gosyscall.Signal(0xf)
|
||||
|
||||
//SIG fake linux signal for windwos.
|
||||
SIGCHLD = Signal(0x10)
|
||||
SIGCLD = Signal(0x11)
|
||||
SIGCONT = Signal(0x12)
|
||||
SIGIO = Signal(0x13)
|
||||
SIGIOT = Signal(0x14)
|
||||
SIGPOLL = Signal(0x15)
|
||||
SIGPROF = Signal(0x16)
|
||||
SIGPWR = Signal(0x17)
|
||||
SIGSTKFLT = Signal(0x18)
|
||||
SIGSTOP = Signal(0x19)
|
||||
SIGSYS = Signal(0x1a)
|
||||
SIGTSTP = Signal(0x1b)
|
||||
SIGTTIN = Signal(0x1c)
|
||||
SIGTTOU = Signal(0x1d)
|
||||
SIGUNUSED = Signal(0x1e)
|
||||
SIGURG = Signal(0x1f)
|
||||
SIGUSR1 = Signal(0x20)
|
||||
SIGUSR2 = Signal(0x21)
|
||||
SIGVTALRM = Signal(0x22)
|
||||
SIGWINCH = Signal(0x23)
|
||||
SIGXCPU = Signal(0x24)
|
||||
SIGXFSZ = Signal(0x25)
|
||||
)
|
15
library/syscall/syscall_windows_test.go
Normal file
15
library/syscall/syscall_windows_test.go
Normal file
@ -0,0 +1,15 @@
|
||||
package syscall
|
||||
|
||||
import (
|
||||
"log"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestSignal(t *testing.T) {
|
||||
if int(SIGSTOP) != 0x19 {
|
||||
t.FailNow()
|
||||
}
|
||||
if int(SIGXFSZ) != 0x25 {
|
||||
t.FailNow()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user