On Tue, 2 May 2023 12:56:38 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:
>> Matthew Donovan has updated the pull request incrementally with one >> additional commit since the last revision: >> >> using try/finally in terminateHandshakeContext and using local context >> variable in all places it should be > > src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java line 767: > >> 765: if (context != null && // PRE or POST handshake >> 766: !conContext.handshakeContext.taskDelegated && >> 767: >> !conContext.handshakeContext.delegatedActions.isEmpty()) { > > Shouldn't you replace `conContext.handshakeContext` with `context` in those > two lines as well? Yes, I definitely should have done that. Thanks. > src/java.base/share/classes/sun/security/ssl/TransportContext.java line 461: > >> 459: handshakeCtxLock.lock(); >> 460: handshakeContext = null; >> 461: handshakeCtxLock.unlock(); > > The usual pattern is to use try { } finally { } with locks (even though in > this particular case I don't see how the assignment would throw) - but if > more things need to be done in the future here then at least the try { } > finally { } will be in place. > > Suggestion: > > handshakeCtxLock.lock(); > try { > handshakeContext = null; > } finally { > handshakeCtxLock.unlock(); > } I added the try/finally. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/13742#discussion_r1182625725 PR Review Comment: https://git.openjdk.org/jdk/pull/13742#discussion_r1182626923