On Wed, 25 Oct 2023 17:27:57 GMT, Daniel Jeliński <[email protected]> wrote:

> This patch fixes a race between the selector thread and the IdleTimeoutTask 
> which closes connections that were idle for longer than IDLE_INTERVAL. With 
> this patch, only the thread that successfully removes the connection from 
> idleConnections is permitted to change it. If any data arrives after the 
> IdleTimeoutTask removes the connection from idleConnections, the data is 
> ignored.
> 
> Additionally, this patch reduces the time interval between when the 
> IdleTimeoutTask removes the connection from idleConnections and when the 
> connection is closed, back to pre-JDK-8286918 level.
> 
> No new test; with platform sockets it's next to impossible to reliably get 
> the timing right. Existing tier1-3 tests pass.

This pull request has now been integrated.

Changeset: 47624f6f
Author:    Daniel Jeliński <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/47624f6fc699aa66c58587460ce7f39fce5a86c7
Stats:     35 lines in 1 file changed: 8 ins; 13 del; 14 mod

8299058: AssertionError in sun.net.httpserver.ServerImpl when connection is idle

Reviewed-by: jpai, michaelm, dfuchs

-------------

PR: https://git.openjdk.org/jdk/pull/16366

Reply via email to