Hi Oleg,
thanks for your reply. See inline...
I'm working on a GUI program, where HttpMethods are executed on the
request of the user. As e.g. in a Webbrowser, I would like to enable
unpatient users to cancel requests that take too long.
I currently don't see any possibilities to cancel a running request from
a separate thread, though. Neither HttpMethod.abort() nor
Thread.interrupt() have any effect.
HttpMethod#abort closes the underlying socket. This effectively kills
the connection. What other effect do you expect?
I was testing a case where HttpClient was trying to connect to an
unreachable host and abort() didn't have any effect. OTH, even Firefox
goes into a limbo in such cases, so I guess I bear with that...
While thinking about this problem, I'm having problems understanding the
purpose of the HttpMethod.abort() method. It clearly isn't intended for
use from separate threads because no synchronization is performed.
It is not supposed to synchronise on any object instance in
HttpMethodBase class as all the magic happens in HttpConnection and
java.net.Socket classes
Hmm, shouldn't at least HttpMethodBase.aborted and
HttpMethodBase.responseConnection be synchronized, because these
attributes can obviously be accessed from different threads when using
abort()? Also, I don't see any synchronization in HttpConnection either.
Oliver
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]