1// Copyright 2018 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// +build darwin dragonfly freebsd linux netbsd openbsd solaris
6
7package unix_test
8
9import (
10	"log"
11	"os"
12
13	"golang.org/x/sys/unix"
14)
15
16func ExampleFlock() {
17	f, _ := os.Create("example.lock")
18	if err := unix.Flock(int(f.Fd()), unix.LOCK_EX); err != nil {
19		log.Fatal(err)
20	}
21	// Do work here that requires the lock. When finished, release the lock:
22	if err := unix.Flock(int(f.Fd()), unix.LOCK_UN); err != nil {
23		log.Fatal(err)
24	}
25}
26