Skip to content

x/sys/unix: Add support for flock(3C) to Solaris #21410

@sean-

Description

@sean-

Please answer these questions before submitting your issue. Thanks!

Pre-patch

# env GOPATH=/tmp/pre-pr /opt/local/bin/go version
go version go1.8.1 solaris/amd64
# env GOPATH=/tmp/pre-pr /opt/local/bin/go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="solaris"
GOOS="solaris"
GOPATH="/tmp/pre-pr"
GORACE=""
GOROOT="/opt/local/go"
GOTOOLDIR="/opt/local/go/pkg/tool/solaris_amd64"
GCCGO="/opt/local/bin/gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build910593760=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
[root@nomad-dev /tmp/t2]# env GOPATH=/tmp/pre-pr /opt/local/bin/go run flock.go
# command-line-arguments
./flock.go:9: undefined: unix.Flock

What did you do?

https://go-review.googlesource.com/c/55230

Post-patch

# env GOPATH=$HOME/go ~/go/bin/go version
go version go1.9rc2 solaris/amd64
# env GOPATH=$HOME/go ~/go/bin/go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="solaris"
GOOS="solaris"
GOPATH="/root/go"
GORACE=""
GOROOT="/root/go-devel"
GOTOOLDIR="/root/go-devel/pkg/tool/solaris_amd64"
GCCGO="/opt/local/bin/gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build060664245=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
# env GOPATH=$HOME/go ~/go/bin/go run flock.go
flocked out
# cat flock.go
package main

import (
	"fmt"
	"golang.org/x/sys/unix"
)

func main() {
	if err := unix.Flock(0, 2); err != nil {
		fmt.Printf("err: %v\n", err)
	}
	fmt.Println("flocked out")
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions