diff --git a/Assistant/Threads/MountWatcher.hs b/Assistant/Threads/MountWatcher.hs index 51c7590ea7..2cde0f1831 100644 --- a/Assistant/Threads/MountWatcher.hs +++ b/Assistant/Threads/MountWatcher.hs @@ -98,11 +98,11 @@ checkMountMonitor :: Client -> IO Bool checkMountMonitor client = do running <- filter (`elem` usableservices) <$> listServiceNames client - if null running - then startOneService client startableservices - else do + case running of + [] -> startOneService client startableservices + (service:_) -> do debug thisThread [ "Using running DBUS service" - , Prelude.head running + , service , "to monitor mount events." ] return True diff --git a/Utility/WebApp.hs b/Utility/WebApp.hs index 971422e369..be186baa20 100644 --- a/Utility/WebApp.hs +++ b/Utility/WebApp.hs @@ -67,7 +67,9 @@ runWebApp app observer = do localSocket :: IO Socket localSocket = do addrs <- getAddrInfo (Just hints) (Just localhost) Nothing - go $ Prelude.head addrs + case addrs of + [] -> error "unable to bind to a local socket" + (addr:_) -> go addr where hints = defaultHints { addrFlags = [AI_ADDRCONFIG]