hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Supun Kamburugamuva <supu...@gmail.com>
Subject When a client closes the connection following exception is thrown
Date Fri, 03 Dec 2010 09:37:04 GMT
I have a server which uses the HTTPCore NIO. This works fine as long as
client behaves nicely. But if the client closes the connection this
exception is thrown.

java.io.IOException: Broken pipe
    at sun.nio.ch.FileDispatcher.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:100)
    at sun.nio.ch.IOUtil.write(IOUtil.java:71)
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)
    at
org.apache.http.impl.nio.reactor.SessionOutputBufferImpl.flush(SessionOutputBufferImpl.java:96)
    at
org.apache.http.impl.nio.DefaultNHttpServerConnection.produceOutput(DefaultNHttpServerConnection.java:194)
    at
org.apache.http.impl.nio.DefaultServerIOEventDispatch.outputReady(DefaultServerIOEventDispatch.java:153)
    at
org.apache.http.impl.nio.reactor.BaseIOReactor.writable(BaseIOReactor.java:185)
    at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338)
    at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
    at
org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:275)
    at
org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
    at
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:542)
    at java.lang.Thread.run(Thread.java:680)

I'm shutting down the connection in the NHttpServiceHandler's closed method.
But it seems there is data in the Session Buffer and, even though the
connection is closed HTTPCore tries to send this data. Any pointers that
guide me in the right direction will be greatly appreciated.

Thanks,
Supun..

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message