
Product
Announcing Socket Fix 2.0
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
github.com/juju/fslock
fslock provides a cross-process mutex based on file locks that works on windows and *nix platforms.

image: public domain (don't ask)
fslock relies on LockFileEx on Windows and flock on *nix systems. The timeout feature uses overlapped IO on Windows, but on *nix platforms, timing out requires the use of a goroutine that will run until the lock is acquired, regardless of timeout. If you need to avoid this use of goroutines, poll TryLock in a loop.
var ErrLocked error = trylockError("fslock is already locked")
ErrLocked indicates TryLock failed because the lock was already locked.
var ErrTimeout error = timeoutError("lock timeout exceeded")
ErrTimeout indicates that the lock attempt timed out.
type Lock struct {
// contains filtered or unexported fields
}
Lock implements cross-process locks using syscalls.
func New(filename string) *Lock
New returns a new lock around the given file.
func (l *Lock) Lock() error
Lock locks the lock. This call will block until the lock is available.
func (l *Lock) LockWithTimeout(timeout time.Duration) error
LockWithTimeout tries to lock the lock until the timeout expires. If the timeout expires, this method will return ErrTimeout.
func (l *Lock) TryLock() error
TryLock attempts to lock the lock. This method will return ErrLocked immediately if the lock cannot be acquired.
func (l *Lock) Unlock() error
Unlock unlocks the lock.
FAQs
Unknown package
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.

Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.

Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.