tree df1e6c91edbc6c4885f480683177ebaa87f2e497
parent 3c9adfda78fc28ad2476fe536f21b2d72b413777
author Adam Vartanian <flooey@gmail.com> 1519316585 +0000
committer GitHub <noreply@github.com> 1519316585 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJaju5pCRBK7hj4Ov3rIwAAdHIIAJSH5OigAh8L4l5dnTl4yqCT
 dPOXP/jNs7t+4hIjYL1+fv6CfpkzvI5UpU0cB2vHWVtrGFTUO+kBEgNxVrAeTHNx
 Q2ZqdFIZ8qapbsp6wc13YXtKwZnxTMycxgwaRnubUvgJO5yPguNIVPFQ849G98YL
 mN2gmc3DF8iMgmzb7jCHCTEE42nWWdB6bne2SahhVVzcnz2PWDMUWzMnMHxFJTeI
 NcResSHzVTV/yigIGi2BZg1Ti/J4AE0p0rsD/Gd91jQ5rm0JaKcoH5AKYBJMN3/2
 bJLdun0JcHXR6TPz5QSafnr7w02e+fpxKi/euvjB6HI6D00coHWfgMZuE5jpwUs=
 =gP8Y
 -----END PGP SIGNATURE-----
 

Throw SocketException on ERR_SSL_SYSCALL. (#430)

SSLSocketTest#test_SSLSocket_interrupt_readWrapperAndCloseUnderlying
is failing periodically on our internal continuous builds, and it
appears to be happening due to a race condition.

The test is testing what happens when an SSLSocket that's wrapping an
underlying Socket is blocked on a read and then underlying socket is
closed by another thread.  There appears to be a race condition
between the OS waking up the reading thread and the write of -1 to
java.io.FileDescriptor's private field.  If the reading thread wakes
up and proceeds past the check of the file descriptor's validity
before the field write is visible, then it will attempt to call
SSL_read() and get ERR_SSL_SYSCALL, and it responds by returning -1,
whereas the test expects SocketException to be thrown (which it does
if the file descriptor is invalid).

This changes the code to always throw SocketException when
ERR_SSL_SYSCALL is reported with a return value of 0, which the
BoringSSL docs say happens "if the transport returned EOF", which
should mean the file descriptor is closed.