...

Source file src/syscall/flock.go

     1	// +build linux freebsd openbsd netbsd dragonfly
     2	
     3	// Copyright 2014 The Go Authors. All rights reserved.
     4	// Use of this source code is governed by a BSD-style
     5	// license that can be found in the LICENSE file.
     6	
     7	package syscall
     8	
     9	import "unsafe"
    10	
    11	// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux
    12	// systems by flock_linux_32bit.go to be SYS_FCNTL64.
    13	var fcntl64Syscall uintptr = SYS_FCNTL
    14	
    15	// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
    16	func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
    17		_, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk)))
    18		if errno == 0 {
    19			return nil
    20		}
    21		return errno
    22	}
    23	

View as plain text