From 5072c629322cfa149fdeb4e39bed538a32a8eb1e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 12 Oct 2015 13:00:22 -0400 Subject: [PATCH] avoid ugly error about MVar if the sqlite worker thread crashes --- Database/Handle.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Database/Handle.hs b/Database/Handle.hs index 1fd9f78346..439e7c18bc 100644 --- a/Database/Handle.hs +++ b/Database/Handle.hs @@ -137,7 +137,8 @@ queryDb (DbHandle _ jobs _) a = do res <- newEmptyMVar putMVar jobs $ QueryJob $ liftIO . putMVar res =<< tryNonAsync a - either throwIO return =<< takeMVar res + (either throwIO return =<< takeMVar res) + `catchNonAsync` (const $ error "sqlite query crashed") closeDb :: DbHandle -> IO () closeDb h@(DbHandle worker jobs _) = do