On Tue, 20 May 2025 15:51:50 GMT, Mikhail Yankelevich 
<myankelev...@openjdk.org> wrote:

> HttpServer::stop will terminate the server immidiately after all exhcnages 
> are complete.
> If the exchanges take longer then the specified delay it will terminate 
> straight after the delay, the same as the previous behaviour.
> 
> Used to wait until the delay is complete at all times, regardless of the 
> number of active exchanges.
> 
> Tests based on @eirbjo work, so adding Eirik as a contributor.

Looking at Dispatcher::run - there are a couple of additional places where we 
should take into account the `finished` flag.
I wonder if we should stop processing events as soon as the `finished` has been 
set by one event. That would mean testing for `finished` right after calling 
`handleEvent` - or change `handleEvent` to return a boolean, and exit out of 
the while loop and close the selector if we have set `finished`. 
Arguably - maybe there should not be any event in the queue after `finished` 
has been set - but there doesn't seem any valid reason to `reRegister` 
connections or call `select(1000)` again at that point.

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

PR Comment: https://git.openjdk.org/jdk/pull/25333#issuecomment-2895386493

Reply via email to