From b09c6d56832eb1718c07d74abf3bc6ae3fe4e030 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 14:36:04 +0200 Subject: Adding upstream version 1.1.0. Signed-off-by: Daniel Baumann --- .../ssgreg/journald@v1.0.0/write_msg_go1.9.go | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 dependencies/pkg/mod/github.com/ssgreg/journald@v1.0.0/write_msg_go1.9.go (limited to 'dependencies/pkg/mod/github.com/ssgreg/journald@v1.0.0/write_msg_go1.9.go') diff --git a/dependencies/pkg/mod/github.com/ssgreg/journald@v1.0.0/write_msg_go1.9.go b/dependencies/pkg/mod/github.com/ssgreg/journald@v1.0.0/write_msg_go1.9.go new file mode 100644 index 0000000..5e5e368 --- /dev/null +++ b/dependencies/pkg/mod/github.com/ssgreg/journald@v1.0.0/write_msg_go1.9.go @@ -0,0 +1,41 @@ +// +build go1.9 + +package journald + +import ( + "net" + "syscall" + "unsafe" + + "golang.org/x/sys/unix" +) + +// Check function description in write_msg.go +func writeMsgUnix(c *net.UnixConn, oob []byte, addr *net.UnixAddr) (oobn int, err error) { + ptr, salen := sockaddr(addr) + + var msg syscall.Msghdr + msg.Name = (*byte)(ptr) + msg.Namelen = uint32(salen) + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + + rawConn, err := c.SyscallConn() + if err != nil { + return 0, err + } + + var n uintptr + var errno syscall.Errno + err = rawConn.Write(func(fd uintptr) bool { + _, n, errno = syscall.Syscall(unix.SYS_SENDMSG, fd, uintptr(unsafe.Pointer(&msg)), 0) + return true + }) + if err == nil { + if errno != 0 { + err = errno + } + } + + return int(n), err +} -- cgit v1.2.3