Revision fbb95f28 Ganeti/HTools/Luxi.hs

b/Ganeti/HTools/Luxi.hs
133 133
  let _recv obuf = do
134 134
              nbuf <- withTimeout queryTimeout "reading luxi response" $
135 135
                      S.recv (socket s) 4096
136
              let (msg, rbuf) = break ((==) eOM) (obuf ++ nbuf)
137
              (if null rbuf
136
              let (msg, remaining) = break ((==) eOM) (obuf ++ nbuf)
137
              (if null remaining
138 138
               then _recv msg
139
               else return (msg, drop 1 rbuf))
139
               else return (msg, tail remaining))
140 140
  cbuf <- readIORef $ rbuf s
141 141
  (msg, nbuf) <- _recv cbuf
142 142
  writeIORef (rbuf s) nbuf

Also available in: Unified diff