[sys] unix: add Signalfd on linux

7 views
Skip to first unread message

Tobias Klauser (Gerrit)

unread,
Jan 15, 2019, 3:42:27 AM1/15/19
to Ian Lance Taylor, Brad Fitzpatrick, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

Tobias Klauser would like Ian Lance Taylor and Brad Fitzpatrick to review this change.

View Change

unix: add Signalfd on linux

Also add the SFD_* constants and SignalfdSiginfo type.

Change-Id: I3415c212b85c9d5a940ba2bf70f43739a2630d78
---
M unix/linux/types.go
M unix/mkerrors.sh
M unix/syscall_linux.go
M unix/zerrors_linux_386.go
M unix/zerrors_linux_amd64.go
M unix/zerrors_linux_arm.go
M unix/zerrors_linux_arm64.go
M unix/zerrors_linux_mips.go
M unix/zerrors_linux_mips64.go
M unix/zerrors_linux_mips64le.go
M unix/zerrors_linux_mipsle.go
M unix/zerrors_linux_ppc64.go
M unix/zerrors_linux_ppc64le.go
M unix/zerrors_linux_riscv64.go
M unix/zerrors_linux_s390x.go
M unix/zerrors_linux_sparc64.go
M unix/zsyscall_linux_386.go
M unix/zsyscall_linux_amd64.go
M unix/zsyscall_linux_arm.go
M unix/zsyscall_linux_arm64.go
M unix/zsyscall_linux_mips.go
M unix/zsyscall_linux_mips64.go
M unix/zsyscall_linux_mips64le.go
M unix/zsyscall_linux_mipsle.go
M unix/zsyscall_linux_ppc64.go
M unix/zsyscall_linux_ppc64le.go
M unix/zsyscall_linux_riscv64.go
M unix/zsyscall_linux_s390x.go
M unix/zsyscall_linux_sparc64.go
M unix/ztypes_linux_386.go
M unix/ztypes_linux_amd64.go
M unix/ztypes_linux_arm.go
M unix/ztypes_linux_arm64.go
M unix/ztypes_linux_mips.go
M unix/ztypes_linux_mips64.go
M unix/ztypes_linux_mips64le.go
M unix/ztypes_linux_mipsle.go
M unix/ztypes_linux_ppc64.go
M unix/ztypes_linux_ppc64le.go
M unix/ztypes_linux_riscv64.go
M unix/ztypes_linux_s390x.go
M unix/ztypes_linux_sparc64.go
42 files changed, 383 insertions(+), 2 deletions(-)

diff --git a/unix/linux/types.go b/unix/linux/types.go
index 8cac3e6..fecd2ce 100644
--- a/unix/linux/types.go
+++ b/unix/linux/types.go
@@ -36,6 +36,7 @@
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/signal.h>
+#include <sys/signalfd.h>
#include <sys/statfs.h>
#include <sys/statvfs.h>
#include <sys/sysinfo.h>
@@ -748,6 +749,8 @@

type Sigset_t C.sigset_t

+type SignalfdSiginfo C.struct_signalfd_siginfo
+
const RNDGETENTCNT = C.RNDGETENTCNT

const PERF_IOC_FLAG_GROUP = C.PERF_IOC_FLAG_GROUP
diff --git a/unix/mkerrors.sh b/unix/mkerrors.sh
index 28cc7ba..c652b1c 100755
--- a/unix/mkerrors.sh
+++ b/unix/mkerrors.sh
@@ -179,6 +179,7 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/time.h>
+#include <sys/signalfd.h>
#include <sys/socket.h>
#include <sys/xattr.h>
#include <linux/if.h>
@@ -453,7 +454,7 @@
$2 !~ "MNT_BITS" &&
$2 ~ /^(MS|MNT|UMOUNT)_/ ||
$2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ ||
- $2 ~ /^(O|F|E?FD|NAME|S|PTRACE|PT)_/ ||
+ $2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT)_/ ||
$2 ~ /^KEXEC_/ ||
$2 ~ /^LINUX_REBOOT_CMD_/ ||
$2 ~ /^LINUX_REBOOT_MAGIC[12]$/ ||
diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go
index e371445..761062b 100644
--- a/unix/syscall_linux.go
+++ b/unix/syscall_linux.go
@@ -1467,6 +1467,7 @@

//sys Setpriority(which int, who int, prio int) (err error)
//sys Setxattr(path string, attr string, data []byte, flags int) (err error)
+//sys Signalfd(fd int, mask *Sigset_t, flags int) = SYS_SIGNALFD4
//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)
//sys Sync()
//sys Syncfs(fd int) (err error)
@@ -1683,7 +1684,6 @@
// Shmdt
// Shmget
// Sigaltstack
-// Signalfd
// Swapoff
// Swapon
// Sysfs
diff --git a/unix/zerrors_linux_386.go b/unix/zerrors_linux_386.go
index 466f8cf..7008975 100644
--- a/unix/zerrors_linux_386.go
+++ b/unix/zerrors_linux_386.go
@@ -1744,6 +1744,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x800
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_amd64.go b/unix/zerrors_linux_amd64.go
index 573b87a..3e8a67b 100644
--- a/unix/zerrors_linux_amd64.go
+++ b/unix/zerrors_linux_amd64.go
@@ -1745,6 +1745,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x800
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_arm.go b/unix/zerrors_linux_arm.go
index 746d0ee..70e97df 100644
--- a/unix/zerrors_linux_arm.go
+++ b/unix/zerrors_linux_arm.go
@@ -1751,6 +1751,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x800
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_arm64.go b/unix/zerrors_linux_arm64.go
index 681b609..b7a15ff 100644
--- a/unix/zerrors_linux_arm64.go
+++ b/unix/zerrors_linux_arm64.go
@@ -1735,6 +1735,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x800
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_mips.go b/unix/zerrors_linux_mips.go
index 5494c23..fe4cd19 100644
--- a/unix/zerrors_linux_mips.go
+++ b/unix/zerrors_linux_mips.go
@@ -1744,6 +1744,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x80
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_mips64.go b/unix/zerrors_linux_mips64.go
index 8874cf5..07914ea 100644
--- a/unix/zerrors_linux_mips64.go
+++ b/unix/zerrors_linux_mips64.go
@@ -1744,6 +1744,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x80
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_mips64le.go b/unix/zerrors_linux_mips64le.go
index a1305a6..235c564 100644
--- a/unix/zerrors_linux_mips64le.go
+++ b/unix/zerrors_linux_mips64le.go
@@ -1744,6 +1744,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x80
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_mipsle.go b/unix/zerrors_linux_mipsle.go
index a4ccc19..cd3164f 100644
--- a/unix/zerrors_linux_mipsle.go
+++ b/unix/zerrors_linux_mipsle.go
@@ -1744,6 +1744,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x80
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_ppc64.go b/unix/zerrors_linux_ppc64.go
index a957552..9813b22 100644
--- a/unix/zerrors_linux_ppc64.go
+++ b/unix/zerrors_linux_ppc64.go
@@ -1802,6 +1802,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x800
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_ppc64le.go b/unix/zerrors_linux_ppc64le.go
index 4d44c9e..b0e1d9d 100644
--- a/unix/zerrors_linux_ppc64le.go
+++ b/unix/zerrors_linux_ppc64le.go
@@ -1802,6 +1802,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x800
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_riscv64.go b/unix/zerrors_linux_riscv64.go
index 0369cc1..e247244 100644
--- a/unix/zerrors_linux_riscv64.go
+++ b/unix/zerrors_linux_riscv64.go
@@ -1732,6 +1732,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x800
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_s390x.go b/unix/zerrors_linux_s390x.go
index 8b4a06a..710cfa7 100644
--- a/unix/zerrors_linux_s390x.go
+++ b/unix/zerrors_linux_s390x.go
@@ -1805,6 +1805,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x80000
+ SFD_NONBLOCK = 0x800
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zerrors_linux_sparc64.go b/unix/zerrors_linux_sparc64.go
index 6d8a25d..70eb41b 100644
--- a/unix/zerrors_linux_sparc64.go
+++ b/unix/zerrors_linux_sparc64.go
@@ -1797,6 +1797,8 @@
SECCOMP_MODE_STRICT = 0x1
SECURITYFS_MAGIC = 0x73636673
SELINUX_MAGIC = 0xf97cff8c
+ SFD_CLOEXEC = 0x400000
+ SFD_NONBLOCK = 0x4000
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
diff --git a/unix/zsyscall_linux_386.go b/unix/zsyscall_linux_386.go
index 818fdb0..19c608f 100644
--- a/unix/zsyscall_linux_386.go
+++ b/unix/zsyscall_linux_386.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_amd64.go b/unix/zsyscall_linux_amd64.go
index 486bb2b..dce4e33 100644
--- a/unix/zsyscall_linux_amd64.go
+++ b/unix/zsyscall_linux_amd64.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_arm.go b/unix/zsyscall_linux_arm.go
index f957388..05ac5b4 100644
--- a/unix/zsyscall_linux_arm.go
+++ b/unix/zsyscall_linux_arm.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_arm64.go b/unix/zsyscall_linux_arm64.go
index b2294fe..4b57121 100644
--- a/unix/zsyscall_linux_arm64.go
+++ b/unix/zsyscall_linux_arm64.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_mips.go b/unix/zsyscall_linux_mips.go
index dba87b8..3a933c2 100644
--- a/unix/zsyscall_linux_mips.go
+++ b/unix/zsyscall_linux_mips.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_mips64.go b/unix/zsyscall_linux_mips64.go
index c4ea405..4f9989c 100644
--- a/unix/zsyscall_linux_mips64.go
+++ b/unix/zsyscall_linux_mips64.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_mips64le.go b/unix/zsyscall_linux_mips64le.go
index e1be6c8..2cae086 100644
--- a/unix/zsyscall_linux_mips64le.go
+++ b/unix/zsyscall_linux_mips64le.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_mipsle.go b/unix/zsyscall_linux_mipsle.go
index 8067b94..c28b841 100644
--- a/unix/zsyscall_linux_mipsle.go
+++ b/unix/zsyscall_linux_mipsle.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_ppc64.go b/unix/zsyscall_linux_ppc64.go
index b118aaa..6f2d9ae 100644
--- a/unix/zsyscall_linux_ppc64.go
+++ b/unix/zsyscall_linux_ppc64.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_ppc64le.go b/unix/zsyscall_linux_ppc64le.go
index 2c300f9..d5735dc 100644
--- a/unix/zsyscall_linux_ppc64le.go
+++ b/unix/zsyscall_linux_ppc64le.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_riscv64.go b/unix/zsyscall_linux_riscv64.go
index 9b58c68..a30f7ca 100644
--- a/unix/zsyscall_linux_riscv64.go
+++ b/unix/zsyscall_linux_riscv64.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_s390x.go b/unix/zsyscall_linux_s390x.go
index b491844..b953b20 100644
--- a/unix/zsyscall_linux_s390x.go
+++ b/unix/zsyscall_linux_s390x.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/zsyscall_linux_sparc64.go b/unix/zsyscall_linux_sparc64.go
index a9fe23f..d09c7e1 100644
--- a/unix/zsyscall_linux_sparc64.go
+++ b/unix/zsyscall_linux_sparc64.go
@@ -1380,6 +1380,13 @@

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

+func Signalfd(fd int, mask *Sigset_t, flags int) {
+ SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/unix/ztypes_linux_386.go b/unix/ztypes_linux_386.go
index ebf10d4..aade41a 100644
--- a/unix/ztypes_linux_386.go
+++ b/unix/ztypes_linux_386.go
@@ -759,6 +759,26 @@
Val [32]uint32
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x80045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_amd64.go b/unix/ztypes_linux_amd64.go
index 99a6900..80f4ba6 100644
--- a/unix/ztypes_linux_amd64.go
+++ b/unix/ztypes_linux_amd64.go
@@ -772,6 +772,26 @@
Val [16]uint64
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x80045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_arm.go b/unix/ztypes_linux_arm.go
index 5ccc4b5..19dd4c9 100644
--- a/unix/ztypes_linux_arm.go
+++ b/unix/ztypes_linux_arm.go
@@ -748,6 +748,26 @@
Val [32]uint32
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x80045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_arm64.go b/unix/ztypes_linux_arm64.go
index be375d9..f64914a 100644
--- a/unix/ztypes_linux_arm64.go
+++ b/unix/ztypes_linux_arm64.go
@@ -751,6 +751,26 @@
Val [16]uint64
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x80045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_mips.go b/unix/ztypes_linux_mips.go
index 195f7e1..20a5922 100644
--- a/unix/ztypes_linux_mips.go
+++ b/unix/ztypes_linux_mips.go
@@ -753,6 +753,26 @@
Val [32]uint32
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x40045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_mips64.go b/unix/ztypes_linux_mips64.go
index 77acf56..784b7b1 100644
--- a/unix/ztypes_linux_mips64.go
+++ b/unix/ztypes_linux_mips64.go
@@ -753,6 +753,26 @@
Val [16]uint64
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x40045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_mips64le.go b/unix/ztypes_linux_mips64le.go
index 2fb7498..fdbad38 100644
--- a/unix/ztypes_linux_mips64le.go
+++ b/unix/ztypes_linux_mips64le.go
@@ -753,6 +753,26 @@
Val [16]uint64
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x40045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_mipsle.go b/unix/ztypes_linux_mipsle.go
index 41cb148..639520b 100644
--- a/unix/ztypes_linux_mipsle.go
+++ b/unix/ztypes_linux_mipsle.go
@@ -753,6 +753,26 @@
Val [32]uint32
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x40045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_ppc64.go b/unix/ztypes_linux_ppc64.go
index 8e6b5fa..19fdbf9 100644
--- a/unix/ztypes_linux_ppc64.go
+++ b/unix/ztypes_linux_ppc64.go
@@ -761,6 +761,26 @@
Val [16]uint64
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x40045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_ppc64le.go b/unix/ztypes_linux_ppc64le.go
index 019d2d6..c54d35c 100644
--- a/unix/ztypes_linux_ppc64le.go
+++ b/unix/ztypes_linux_ppc64le.go
@@ -761,6 +761,26 @@
Val [16]uint64
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x40045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_riscv64.go b/unix/ztypes_linux_riscv64.go
index cf110ce..6009e5d 100644
--- a/unix/ztypes_linux_riscv64.go
+++ b/unix/ztypes_linux_riscv64.go
@@ -778,6 +778,26 @@
Val [16]uint64
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x80045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_s390x.go b/unix/ztypes_linux_s390x.go
index abdc086..2ef0d13 100644
--- a/unix/ztypes_linux_s390x.go
+++ b/unix/ztypes_linux_s390x.go
@@ -774,6 +774,26 @@
Val [16]uint64
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x80045200

const PERF_IOC_FLAG_GROUP = 0x1
diff --git a/unix/ztypes_linux_sparc64.go b/unix/ztypes_linux_sparc64.go
index b0c9798..2c250a0 100644
--- a/unix/ztypes_linux_sparc64.go
+++ b/unix/ztypes_linux_sparc64.go
@@ -756,6 +756,26 @@
Val [16]uint64
}

+type SignalfdSiginfo struct {
+ Signo uint32
+ Errno int32
+ Code int32
+ Pid uint32
+ Uid uint32
+ Fd int32
+ Tid uint32
+ Band uint32
+ Overrun uint32
+ Trapno uint32
+ Status int32
+ Int int32
+ Ptr uint64
+ Utime uint64
+ Stime uint64
+ Addr uint64
+ _ [48]uint8
+}
+
const RNDGETENTCNT = 0x40045200

const PERF_IOC_FLAG_GROUP = 0x1

To view, visit change 157897. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: sys
Gerrit-Branch: master
Gerrit-Change-Id: I3415c212b85c9d5a940ba2bf70f43739a2630d78
Gerrit-Change-Number: 157897
Gerrit-PatchSet: 1
Gerrit-Owner: Tobias Klauser <tobias....@gmail.com>
Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
Gerrit-Reviewer: Tobias Klauser <tobias....@gmail.com>
Gerrit-MessageType: newchange

Gobot Gobot (Gerrit)

unread,
Jan 15, 2019, 3:42:30 AM1/15/19
to Tobias Klauser, goph...@pubsubhelper.golang.org, Ian Lance Taylor, Brad Fitzpatrick, golang-co...@googlegroups.com

TryBots beginning. Status page: https://farmer.golang.org/try?commit=597fe926

View Change

    To view, visit change 157897. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: sys
    Gerrit-Branch: master
    Gerrit-Change-Id: I3415c212b85c9d5a940ba2bf70f43739a2630d78
    Gerrit-Change-Number: 157897
    Gerrit-PatchSet: 1
    Gerrit-Owner: Tobias Klauser <tobias....@gmail.com>
    Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
    Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
    Gerrit-Reviewer: Tobias Klauser <tobias....@gmail.com>
    Gerrit-CC: Gobot Gobot <go...@golang.org>
    Gerrit-Comment-Date: Tue, 15 Jan 2019 08:42:29 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: No
    Gerrit-MessageType: comment

    Gobot Gobot (Gerrit)

    unread,
    Jan 15, 2019, 3:48:26 AM1/15/19
    to Tobias Klauser, goph...@pubsubhelper.golang.org, Ian Lance Taylor, Brad Fitzpatrick, golang-co...@googlegroups.com

    TryBots are happy.

    Patch set 1:TryBot-Result +1

    View Change

      To view, visit change 157897. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: sys
      Gerrit-Branch: master
      Gerrit-Change-Id: I3415c212b85c9d5a940ba2bf70f43739a2630d78
      Gerrit-Change-Number: 157897
      Gerrit-PatchSet: 1
      Gerrit-Owner: Tobias Klauser <tobias....@gmail.com>
      Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
      Gerrit-Reviewer: Gobot Gobot <go...@golang.org>
      Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
      Gerrit-Reviewer: Tobias Klauser <tobias....@gmail.com>
      Gerrit-Comment-Date: Tue, 15 Jan 2019 08:48:24 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      Gerrit-MessageType: comment

      Brad Fitzpatrick (Gerrit)

      unread,
      Jan 15, 2019, 9:56:35 AM1/15/19
      to Tobias Klauser, goph...@pubsubhelper.golang.org, Brad Fitzpatrick, Gobot Gobot, Ian Lance Taylor, golang-co...@googlegroups.com

      Patch set 1:Code-Review +2

      View Change

        To view, visit change 157897. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: sys
        Gerrit-Branch: master
        Gerrit-Change-Id: I3415c212b85c9d5a940ba2bf70f43739a2630d78
        Gerrit-Change-Number: 157897
        Gerrit-PatchSet: 1
        Gerrit-Owner: Tobias Klauser <tobias....@gmail.com>
        Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
        Gerrit-Reviewer: Gobot Gobot <go...@golang.org>
        Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
        Gerrit-Reviewer: Tobias Klauser <tobias....@gmail.com>
        Gerrit-Comment-Date: Tue, 15 Jan 2019 14:56:32 +0000

        Tobias Klauser (Gerrit)

        unread,
        Jan 15, 2019, 10:29:28 AM1/15/19
        to goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Brad Fitzpatrick, Gobot Gobot, Ian Lance Taylor, golang-co...@googlegroups.com

        Tobias Klauser merged this change.

        View Change

        Approvals: Brad Fitzpatrick: Looks good to me, approved Tobias Klauser: Run TryBots Gobot Gobot: TryBots succeeded
        unix: add Signalfd on linux

        Also add the SFD_* constants and SignalfdSiginfo type.

        Change-Id: I3415c212b85c9d5a940ba2bf70f43739a2630d78
        Reviewed-on: https://go-review.googlesource.com/c/157897
        Run-TryBot: Tobias Klauser <tobias....@gmail.com>
        TryBot-Result: Gobot Gobot <go...@golang.org>
        Reviewed-by: Brad Fitzpatrick <brad...@golang.org>
        Gerrit-PatchSet: 2
        Gerrit-Owner: Tobias Klauser <tobias....@gmail.com>
        Gerrit-Reviewer: Brad Fitzpatrick <brad...@golang.org>
        Gerrit-Reviewer: Gobot Gobot <go...@golang.org>
        Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
        Gerrit-Reviewer: Tobias Klauser <tobias....@gmail.com>
        Gerrit-MessageType: merged
        Reply all
        Reply to author
        Forward
        0 new messages