On Mon, 7 Dec 2020 09:52:47 GMT, Conor Cleary <ccle...@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 ------------- PR: https://git.openjdk.java.net/jdk/pull/1659