Article delegate-en/1736 of [1-5169] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: Antwort: Re: [DeleGate-En] Antwort: Re: [DeleGate-En] Antwort: Re: [DeleGate-En] Antwort: Re: [DeleGate-En] broken post-response with http/1.0 keep-alive
03 Jul 2002 07:01:23 GMT (Yutaka Sato)

Hi Marc,

I can imagine two possible situation where the data fed to fwrite()
via putChunk() is not sent out to the client, as you said in the
first mail.
The data fed to fwrite() is put to FILE buffer, and the buffer is
flushed by fflush() or fclose() to be sent out by write() or send().

As you wrote, doing fflush() right after fwrite() solved the situation.
This implies that the problem is caused because, fflush() for body
is done but too late, or it is not done.
First one is that the FILE buffer is flushed, but the data was not
sent out by write() because the connection is shutdown already.
Second possibility is that the FILE is closed without being flushed.
If the first one is the case, the result will depend on the timing
of fflush().

If inserting another DeleGate between HTTP-DeleGate and IE, without
changing any behavior like about Keep-Alive in original HTTP-DeleGate,
but relaying header and body in a same packet, solves the problem (or
not), it will give us a hint.  Could you test the following using
the original DeleGate/7.9.9 ?

  delegated -PXXXX SERVER=http ... (your original HTTP-DeleGate)
  delegated -PYYYY SERVER=tcprelay://XXXX FTOCL=-tee-n-l

If no difference appear between port XXXX or YYYY, used as HTTP-proxy
port for the client (IE), my guess about "timing of fflush" will
be rejected.

  @ @ Yutaka Sato <>
 ( - ) National Institute of Advanced Industrial Science and Technology (AIST)
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]