flock_others.go raw

   1  // Copyright 2015 Tim Heckman. All rights reserved.
   2  // Copyright 2018-2025 The Gofrs. All rights reserved.
   3  // Use of this source code is governed by the BSD 3-Clause
   4  // license that can be found in the LICENSE file.
   5  
   6  //go:build (!unix && !windows) || plan9
   7  
   8  package flock
   9  
  10  import (
  11  	"errors"
  12  	"io/fs"
  13  )
  14  
  15  func (f *Flock) Lock() error {
  16  	return &fs.PathError{
  17  		Op:   "Lock",
  18  		Path: f.Path(),
  19  		Err:  errors.ErrUnsupported,
  20  	}
  21  }
  22  
  23  func (f *Flock) RLock() error {
  24  	return &fs.PathError{
  25  		Op:   "RLock",
  26  		Path: f.Path(),
  27  		Err:  errors.ErrUnsupported,
  28  	}
  29  }
  30  
  31  func (f *Flock) Unlock() error {
  32  	return &fs.PathError{
  33  		Op:   "Unlock",
  34  		Path: f.Path(),
  35  		Err:  errors.ErrUnsupported,
  36  	}
  37  }
  38  
  39  func (f *Flock) TryLock() (bool, error) {
  40  	return false, f.Lock()
  41  }
  42  
  43  func (f *Flock) TryRLock() (bool, error) {
  44  	return false, f.RLock()
  45  }
  46