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//go:build darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris 6// +build darwin dragonfly freebsd linux netbsd openbsd solaris 7 8package unix_test 9 10import ( 11 "log" 12 "os" 13 14 "golang.org/x/sys/unix" 15) 16 17func ExampleFlock() { 18 f, _ := os.Create("example.lock") 19 if err := unix.Flock(int(f.Fd()), unix.LOCK_EX); err != nil { 20 log.Fatal(err) 21 } 22 // Do work here that requires the lock. When finished, release the lock: 23 if err := unix.Flock(int(f.Fd()), unix.LOCK_UN); err != nil { 24 log.Fatal(err) 25 } 26} 27