From 3ff97aca771fe1457054fa593019439bb86552ed Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Tue, 23 Mar 2021 15:52:28 +0100 Subject: [PATCH] refactor: hlint --- src/Utils/DB.hs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/Utils/DB.hs b/src/Utils/DB.hs index 05ec0516b..b0e48be1c 100644 --- a/src/Utils/DB.hs +++ b/src/Utils/DB.hs @@ -188,7 +188,7 @@ class WithRunDB backend m' m | m -> backend m' where instance WithRunDB backend m (ReaderT backend m) where useRunDB = id -data DBRunner' backend m = DBRunner' { runDBRunner' :: forall b. ReaderT backend m b -> m b } +newtype DBRunner' backend m = DBRunner' { runDBRunner' :: forall b. ReaderT backend m b -> m b } _DBRunner' :: Iso' (DBRunner site) (DBRunner' (YesodPersistBackend site) (HandlerFor site)) _DBRunner' = iso fromDBRunner' toDBRunner @@ -210,7 +210,7 @@ newtype CachedDBRunner backend m a = CachedDBRunner { runCachedDBRunnerUsing :: deriving (Functor, Applicative, Monad, MonadFix, MonadFail, Contravariant, MonadIO, Alternative, MonadPlus, MonadUnliftIO, MonadResource, MonadLogger, MonadThrow, MonadCatch, MonadMask) via (ReaderT (m (DBRunner' backend m)) m) instance MonadTrans (CachedDBRunner backend) where - lift act = CachedDBRunner (\_ -> act) + lift act = CachedDBRunner (const act) instance MonadHandler m => MonadHandler (CachedDBRunner backend m) where type HandlerSite (CachedDBRunner backend m) = HandlerSite m @@ -238,10 +238,6 @@ runCachedDBRunnerSTM doAcquire act = do runner <- doAcquire void . atomically $ tryPutTMVar runnerTMVar runner return runner - getRunnerNoLock = do - cachedRunner <- atomically $ tryReadTMVar runnerTMVar - case cachedRunner of - Just cachedRunner' -> return cachedRunner' - Nothing -> getRunner + getRunnerNoLock = maybe getRunner return =<< atomically (tryReadTMVar runnerTMVar) runCachedDBRunnerUsing act getRunnerNoLock