go-tg-screenshot-bot
25 строк · 637.0 Байт
1// The UnixCredentials system call is currently only implemented on Linux
2// http://golang.org/src/pkg/syscall/sockcmsg_linux.go
3// https://golang.org/s/go1.4-syscall
4// http://code.google.com/p/go/source/browse/unix/sockcmsg_linux.go?repo=sys
5
6package dbus7
8import (9"io"10"os"11"syscall"12)
13
14func (t *unixTransport) SendNullByte() error {15ucred := &syscall.Ucred{Pid: int32(os.Getpid()), Uid: uint32(os.Getuid()), Gid: uint32(os.Getgid())}16b := syscall.UnixCredentials(ucred)17_, oobn, err := t.UnixConn.WriteMsgUnix([]byte{0}, b, nil)18if err != nil {19return err20}21if oobn != len(b) {22return io.ErrShortWrite23}24return nil25}
26