[Haskell-cafe] Re: Strange HTTP module behavior [PATCH]
jgoerzen at complete.org
Fri Feb 18 17:58:26 EST 2005
On Fri, Feb 18, 2005 at 11:36:57PM +0100, Bjorn Bringert wrote:
> John Goerzen wrote:
> >It turns out that Network.Socket.recv raises an EOF error when it gets
> >back 0 bytes of data. HTTP is expecting it to return an empty list for
> >some reason.
> >The below patch fixed it for me.
> > [...]
> Hmm, strange. Is that recv behavior a bug or a feature?
I don't know, but it's explicitly there whatever it is. From ghc
let len' = fromIntegral len
if len' == 0
then ioError (mkEOFError "Network.Socket.recv")
else peekCStringLen (ptr,len')
It appears this change was committed to fptools in version 1.26 of
Socket.hsc on July 15, 2002.
Which arguably is not what one would expect recv to do, and in any case
is undocumented at
Still, 2002 was awhile back, so I'm still surprised nobody else noticed.
More information about the Haskell-Cafe