From 49c16b0acf55cc1056ca9a63620d351106e0de3f Mon Sep 17 00:00:00 2001 From: Denis Tereshkin Date: Thu, 17 Nov 2016 16:33:46 +0700 Subject: [PATCH] BrokerClient: fix timeout detection --- src/ATrade/Broker/Client.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ATrade/Broker/Client.hs b/src/ATrade/Broker/Client.hs index 2cec045..a2c8545 100644 --- a/src/ATrade/Broker/Client.hs +++ b/src/ATrade/Broker/Client.hs @@ -21,6 +21,7 @@ import Data.Int import Data.IORef import Data.Maybe import Data.List.NonEmpty +import qualified Data.List as L import qualified Data.Text as T import qualified Data.ByteString.Lazy as BL import Data.Text.Encoding @@ -51,7 +52,7 @@ brokerClientThread ctx ep cmd resp comp killMv = finally brokerClientThread' cle request <- takeMVar cmd send sock [] (BL.toStrict $ encode request) events <- poll 1000 [Sock sock [In] Nothing] - if (not . null) events + if (not . null) $ L.head events then do maybeResponse <- decode . BL.fromStrict <$> receive sock case maybeResponse of