From 600fec4852ce2f8333a0aa8aa07e9179ed3a1f16 Mon Sep 17 00:00:00 2001 From: Felipe Lessa Date: Mon, 20 Aug 2012 11:34:50 -0300 Subject: [PATCH] wai-eventsource: Do not Flush needlessly on ioToRepEventSource. --- yesod-eventsource/Yesod/EventSource.hs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/yesod-eventsource/Yesod/EventSource.hs b/yesod-eventsource/Yesod/EventSource.hs index 501b4e61..14948bd5 100644 --- a/yesod-eventsource/Yesod/EventSource.hs +++ b/yesod-eventsource/Yesod/EventSource.hs @@ -68,10 +68,13 @@ ioToRepEventSource initial act = do let -- Get new events to be sent. getEvents s = do (evs, s') <- liftIO (act polyfill s) - let (builder, continue) = joinEvents evs [] - C.yield (C.Chunk builder) - C.yield C.Flush - when continue (getEvents s') + case evs of + [] -> getEvents s' + _ -> do + let (builder, continue) = joinEvents evs [] + C.yield (C.Chunk builder) + C.yield C.Flush + when continue (getEvents s') -- Join all events in a single Builder. Returns @False@ -- when we the connection should be closed.