// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris

package unix_test

import (
	"log"
	"os"

	"golang.org/x/sys/unix"
)

func ExampleFlock() {
	f, _ := os.Create("example.lock")
	if err := unix.Flock(int(f.Fd()), unix.LOCK_EX); err != nil {
		log.Fatal(err)
	}
	// Do work here that requires the lock. When finished, release the lock:
	if err := unix.Flock(int(f.Fd()), unix.LOCK_UN); err != nil {
		log.Fatal(err)
	}
}
