Be flexible about TCP RST and SOCK_DESTROY poll return values.

The intent of PollOnCloseTest is to ensure that SOCK_DESTROY
behaves in the same way with respect to poll() as receiving a TCP
RST packet would.

Unfortunately, due to a race inside the kernel, the return values
of poll() in these circumstances is non-deterministic. The race
when processing a TCP RST has been fixed, but the one when
processing SOCK_DESTROY has not.

Ensure that the test does not insist on specific return values on
kernels that do not guarantee them.

Also ensure that any assertion failures in SocketExceptionThread
are passed on to the main thread and properly cause the test to
fail.

Bug: 73654768
Test: sock_diag_test passes 100 times in a row on taimen PPR1.180418.002.
Change-Id: I509e23a67be842d3d112a165f1439d29c699b01f
Merged-In: I509e23a67be842d3d112a165f1439d29c699b01f
1 file changed
tree: 5b2d87bed7446a83f8775bc5e8ef2a2eb1ebddc0
  1. devicetree/
  2. net/
  3. Android.bp