[Prev][Next][Index][Thread]
Re: HTTP Server Problem
Kim Liu wrote:
>
> I think I have at least identify one problem in the code. In HTMIMERq.c, at
> the end of the function HTMIMERequest_put_block(), the code looks like this:
>
> /* Check if we have written it all */
> if (b) {
> HTParentAnchor * entity = HTRequest_entityAnchor(me->request);
> long cl = HTAnchor_length(entity);
> if (STREAM_TRACE)
> return (cl>=0 && HTNet_bytesWritten(net) >= cl) ?
> HT_LOADED : PUTBLOCK(b, l);
> }
> return HT_OK;
>
> I think the "if (STREAM_TRACE)" is a cut&paste mistake. It shouldn't be there.
> It makes the PUTBLOCK that actually pushes the data down the stream not being
> executed. Before I took this out, the server is only sending the header but
> not the entity body. Now the server is sending the entity body but somehow the
> client is still waiting for something even though it has received the whole
> entity body. The client just hangs on there and then timeouts.
Bingo! That explains why it worked fine when I had trace turned on!
Thanks ...
Z
--
Bill Rizzi rizzi@softserv.com Software Services
Z http://www.softserv.com/~rizzi Santa Barbara, CA
References: