[Haskell-cafe] Re: Strange HTTP module behavior [PATCH]

John Goerzen 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.

-- John

More information about the Haskell-Cafe mailing list