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. ------------- Commit messages: - 8255583: Updated copyright notes - 8255583: Investigate creating a test to trigger the condition in KeepAliveStreamCleaner Changes: https://git.openjdk.java.net/jdk/pull/1659/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1659&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8255583 Stats: 49 lines in 2 files changed: 42 ins; 6 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/1659.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1659/head:pull/1659 PR: https://git.openjdk.java.net/jdk/pull/1659