On Mon, 7 Dec 2020 10:55:06 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:
>> The KeepAliveStreamCleaner in sun.net.ww.http package had been previously >> seen to fail with an IllegalMonitorStateException. This failure was caused >> by the use of `wait()` in a non synchronized block. This failure was >> mitigated through use of `await()` instead as is shown below (code can be >> viewed on L119 in >> src/java.base/share/classes/sun/net/www/http/KeepAliveStreamCleaner.java). >> >> ... >> long timeout = TIMEOUT; >> while ((kace = poll()) == null) { >> waiter.await(timeout, TimeUnit.MILLISECONDS); >> ... >> While the code throwing the exception was fixed, a regression test was not >> made. So this patch adds a simple white-box test which calls the >> KeepAliveStreamCleaner's run method. `waiter.wait()` should always fail if >> not used in a synchronized block or method, so the test verifies that it is >> not used. > > test/jdk/sun/net/www/http/KeepAliveStreamCleaner/KeepAliveStreamCleanerTestDriver.java > line 26: > >> 24: /* >> 25: * @test >> 26: * @modules java.base/sun.net.www.http > > Hi Conor, > > Can you add: > > @bug 8255124 > > here? [8255124](https://bugs.openjdk.java.net/browse/JDK-8255124) is the > issue whose fix this test is verifying. > > best regards, > > -- daniel Will do Daniel, thanks for pointing that out! ------------- PR: https://git.openjdk.java.net/jdk/pull/1659