mount: fix macOS not noticing errors with --daemon

See: https://forum.rclone.org/t/rclone-mount-daemon-exits-successfully-even-when-mount-fails/43146
This commit is contained in:
Nick Craig-Wood 2023-11-28 19:42:00 +00:00
parent b3c2985544
commit 5a22dad9a7
1 changed files with 8 additions and 0 deletions

View File

@ -10,6 +10,7 @@ import (
"runtime"
"strings"
"sync"
"syscall"
"time"
"github.com/rclone/rclone/cmd"
@ -222,6 +223,13 @@ func NewMountCommand(commandName string, hidden bool, mount MountFn) *cobra.Comm
err = WaitMountReady(mnt.MountPoint, Opt.DaemonWait)
if err != nil {
killDaemon("Daemon timed out")
} else {
// Double check daemon is still alive
// on non Linux OSes WaitMountReady is just a no-op
err = daemon.Signal(syscall.Signal(0))
if err != nil {
err = fmt.Errorf("daemon has died: %w", err)
}
}
atexit.Unregister(handle)
}