code: func (lf *lockFile) Close() error {
  	lf.Lock()
  	defer lf.Unlock()
  	if lf.f == nil {
  		return nil
  	}
  	spec := &syscall.Flock_t{
  		Type:   syscall.F_UNLCK,
  		Whence: int16(io.SeekStart),
  		Start:  0,
  		Len:    0, // 0 means to lock the entire file.
  	}
  	err := syscall.FcntlFlock(lf.f.Fd(), syscall.F_SETLK, spec)
  	err = CloseFile(err, lf.f)
  	lf.f = nil
  	return err
  }
docs: // Close implements the LockFile interface