From 1a6bfddff7b44d2f9c4a8e1f4474dc0bbddae2cd Mon Sep 17 00:00:00 2001 From: Jake Runzer Date: Wed, 5 Feb 2025 16:46:12 -0800 Subject: [PATCH] check return of file mutex --- core/mise/mise.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/core/mise/mise.go b/core/mise/mise.go index d88eaa7..0ee71a2 100644 --- a/core/mise/mise.go +++ b/core/mise/mise.go @@ -10,6 +10,7 @@ import ( "github.com/BurntSushi/toml" "github.com/alexflint/go-filemutex" + "github.com/charmbracelet/log" ) const ( @@ -61,8 +62,14 @@ func (m *Mise) runCmd(args ...string) (string, error) { return "", fmt.Errorf("failed to create mutex: %w", err) } - mu.Lock() // Will block until lock can be acquired - defer mu.Unlock() + if err := mu.Lock(); err != nil { + return "", fmt.Errorf("failed to acquire lock: %w", err) + } + defer func() { + if err := mu.Unlock(); err != nil { + log.Printf("failed to release lock: %v", err) + } + }() cmd := exec.Command(m.binaryPath, args...) var stdout, stderr bytes.Buffer