dakirily commented on PR #463: URL: https://github.com/apache/qpid-broker-j/pull/463#issuecomment-6418226295
NonBlockingConnection.doWork() checks the deadline before doRead(), but calls doWrite() unconditionally afterwards. Processing an incoming Close can start the deadline during the read. With connection.closeResponseTimeout = 0, that deadline has already expired when the handler returns, yet a write is still attempted. Likewise, an abort() during the read does not prevent this write. Please recheck the deadline and closed state after doRead(), abort on expiry, and skip normal writes once closed. Graceful flushing can remain in shutdownFinalWrite(). The existing peer-close test invokes the close handler before doWork(), so it misses this path. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
