Älä kaadu virheeseen tietovarannon olessa jo alustettu

This commit is contained in:
Saku Laesvuori 2025-04-19 21:51:54 +03:00
parent b2da3220c9
commit 4a27b6a66f
Signed by: slaesvuo
GPG Key ID: 257D284A2A1D3A32

View File

@ -6,12 +6,12 @@ module Main where
import Control.Applicative (optional)
import Control.Concurrent (forkIO, threadDelay)
import Control.Exception (onException)
import Control.Exception (onException, catch)
import Control.Exception (throwIO)
import Control.Monad (void, forever)
import Data.Acid (AcidState(..), openLocalState, createCheckpoint, createArchive)
import Data.Acid.Remote (skipAuthenticationCheck, acidServerSockAddr, openRemoteStateSockAddr, skipAuthenticationPerform)
import Data.FileStore (gitFileStore, initialize)
import Data.FileStore (gitFileStore, initialize, FileStoreError(RepositoryExists))
import Data.IMF (Mailbox(..), parse, mailbox)
import Data.MIME.Charset (defaultCharsets)
import Data.Text.Encoding (encodeUtf8)
@ -36,7 +36,7 @@ import TiedoteMD.Debug
serverMain :: SockAddr -> Mailbox -> FilePath -> GitOrigin -> FilePath -> Int -> Int -> IO ()
serverMain socket mail repoPath origin sendmailPath checkpointDelay port = do
initialize $ gitFileStore repoPath
initialize (gitFileStore repoPath) `catch` \RepositoryExists -> pure ()
acid <- openLocalState $ emptyState
_ <- forkIO $ acidServerSockAddr skipAuthenticationCheck socket acid
queueMessages acid