Costin,

See inline

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: 05 February 2002 19:08
> To: Tomcat Developers List
> Subject: Re: Tomcat 3.3 - Cactus Issue
> 
> On Tue, 5 Feb 2002 [EMAIL PROTECTED] wrote:
> 
> > Most of the time it happens when something is still in the write
> > buffer ( i.e. unsent or unread ), and the remote side is closing
> > the connection.
> 
> I'll try again:
> 
> Assuming CLIENT sending data to SERVER. The exception happens when:
>  - server has received some data from client ( so client believes
> the data reached the destionation ). The data is in some OS buffer.
> 
>  - server dies or close() the socket, without reading the data from
> the OS buffer
> 
>  - some OSes have a TCP implementation that does what I believe to
> be right - send an ABORT ( instead of the regular CLOSE ).
> 
>  - the client will receive the ABORT and throw the exception
> ( that coresponds to SIGPIPE if the same thing would be done
> locally )
> 
> 
> ( it seems my original mail was not very clear ).
> 
> My feeling is that we are exaclty in this case - the logic
> to close the socket is trying to read the remaining data from
> the available() buffer ( impl. of the fix for extra CRLF bug ),
> but the impl is likely to fail on a fast OS or on certain
> threading models where the CLIENT may send aditional data
> between we read the input buffer and close().
> 
> 
> Vincent: is your test servlet reading the body i.e. calls
> getParameters() if it's a url-encoded body, or read
> the full stream ?
> 

I do not use getParameters() anywhere in the code because I want to be
able to call getReader() or getInputStream(). Thus I have some utility
code to extract parameter from the query string directly.

-Vincent

> If not, I believe the current behavior is correct and shouldn't
> be changed - it signals the CLIENT that whatever it posted
> was not read, and that's a very usefull information we shouldn't
> hide.
> 
> If this is not the case, and the servlet has read the body -
> than it's a serious problem.
> 
> Costin
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:tomcat-dev-
> [EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:tomcat-dev-
> [EMAIL PROTECTED]>
> 




--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to