github.com/Kalvelign/golang-windows-sys-lib@v0.0.0-20221121121202-63da651435e1/unix/example_flock_test.go (about) 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 8 package unix_test 9 10 import ( 11 "log" 12 "os" 13 14 "golang.org/x/sys/unix" 15 ) 16 17 func 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 }