RFR: 8268965: TCP Connection Reset when connecting simple socket to SSL server [v2]
Alexey Bakhtin
abakhtin at openjdk.java.net
Wed Jul 7 20:44:28 UTC 2021
On Wed, 7 Jul 2021 17:22:07 GMT, Xue-Lei Andrew Fan <xuelei at openjdk.org> wrote:
>> Alexey Bakhtin has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Add read lock for inputRecord.deplete
>
> src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java line 1789:
>
>> 1787: appInput.readLock.unlock();
>> 1788: }
>> 1789: }
>
> The blocking on close() may be not good in practice. I would use tryLock() rather than lock() so as to avoid closure blocking. tryLock() is not perfect, but it may be better than blocking the close().
>
> BTW, you could use the intanceof pattern matching so as to avoid the cast (See https://openjdk.java.net/jeps/394).
>
>
> if (conContext.inputRecord instanceof
> SSLSocketInputRecord inputRecord && isConnected) {
> if (appInput.readLock.tryLock()) {
> try {
> inputRecord.deplete(false);
> } finally {
> appInput.readLock.unlock();
> }
> }
> }
Hi Xuelei,
Thank you a lot again. Replaced lock with tryLock as you suggested
-------------
PR: https://git.openjdk.java.net/jdk/pull/4520
More information about the security-dev
mailing list