then do
#if linux_HOST_OS
wds <- mapM (watchHotfolder args publishOneMsg) (inputFiles args)
- sleepingBeauty >>= printparam "exception"
- forM_ wds (\(wd,folder) -> do
- removeWatch wd
- printparam "END watching" folder
- )
+ sleepingBeauty >>= (\x -> do
+ forM_ wds (\(wd,folder) -> do
+ removeWatch wd
+ printparam "END watching" folder
+ )
+ X.throw x)
#else
X.throw (X.ErrorCall "ERROR: watching a directory is only supported in Linux")
#endif
-- SPDX-License-Identifier: GPL-3.0-only
-- generic amqp consumer
-import Control.Concurrent
-import qualified Control.Exception as X
-import qualified Data.Text as T
-import Data.Time
-import Data.Version (showVersion)
-import Network.AMQP
-import Network.AMQP.Utils.Connection
-import Network.AMQP.Utils.Helpers
-import Network.AMQP.Utils.Options
-import Paths_amqp_utils (version)
-import System.Environment
+import Control.Concurrent
+import qualified Control.Exception as X
+import qualified Data.Text as T
+import Data.Time
+import Data.Version (showVersion)
+import Network.AMQP
+import Network.AMQP.Utils.Connection
+import Network.AMQP.Utils.Helpers
+import Network.AMQP.Utils.Options
+import Paths_amqp_utils (version)
+import System.Environment
main :: IO ()
main = do
printparam "send acks" $ ack args
printparam "requeue if rejected" $ (ack args) && (requeuenack args)
hr "entering main loop"
- sleepingBeauty >>= printparam "exception"
- closeConnection conn
- hr "connection closed"
+ sleepingBeauty >>=
+ (\x -> do
+ closeConnection conn
+ hr "connection closed"
+ X.throw x)
-- | exclusive temp queue
tempQueue :: Channel -> String -> [(String, String)] -> IO T.Text