From 9bfbf2a4ae58d606d5d9badf68588eef7e718ba3 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Tue, 28 Nov 2023 19:42:00 +0000 Subject: [PATCH] mount: fix macOS not noticing errors with --daemon See: https://forum.rclone.org/t/rclone-mount-daemon-exits-successfully-even-when-mount-fails/43146 --- cmd/mountlib/mount.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmd/mountlib/mount.go b/cmd/mountlib/mount.go index 4bc9e066a..558a7b241 100644 --- a/cmd/mountlib/mount.go +++ b/cmd/mountlib/mount.go @@ -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) }