fail on error (#20)

ci-via-github-actions
This commit is contained in:
Casey Lee
2019-01-23 11:51:22 -08:00
committed by GitHub
parent f98caa2656
commit 320e9b6057
1274 changed files with 398630 additions and 9 deletions

View File

@@ -0,0 +1,32 @@
// +build !windows
package sockets
import (
"net"
"os"
"syscall"
)
// NewUnixSocket creates a unix socket with the specified path and group.
func NewUnixSocket(path string, gid int) (net.Listener, error) {
if err := syscall.Unlink(path); err != nil && !os.IsNotExist(err) {
return nil, err
}
mask := syscall.Umask(0777)
defer syscall.Umask(mask)
l, err := net.Listen("unix", path)
if err != nil {
return nil, err
}
if err := os.Chown(path, 0, gid); err != nil {
l.Close()
return nil, err
}
if err := os.Chmod(path, 0660); err != nil {
l.Close()
return nil, err
}
return l, nil
}