Fix receive timeout on LocalSocket

The receive timeout stopped being set incorrect due to commit
c80af6d8. There is an associated CTS regression test in cts/.

Test: Ran CTS test android.net.cts.LocalSocketTest
Bug: 31205169
(cherry picked from commit a8280a5d34)

Change-Id: I28924df45abb687bcca6f4b731ed8b6f741e96da
This commit is contained in:
Neil Fuller
2016-08-31 11:32:17 +01:00
parent f7d8a1648b
commit 8d5ec8d7db

View File

@@ -516,13 +516,11 @@ class LocalSocketImpl
Os.setsockoptLinger(fd, OsConstants.SOL_SOCKET, OsConstants.SO_LINGER, linger); Os.setsockoptLinger(fd, OsConstants.SOL_SOCKET, OsConstants.SO_LINGER, linger);
break; break;
case SocketOptions.SO_TIMEOUT: case SocketOptions.SO_TIMEOUT:
/* // The option must set both send and receive timeouts.
* SO_TIMEOUT from the core library gets converted to // Note: The incoming timeout value is in milliseconds.
* SO_SNDTIMEO, but the option is supposed to set both
* send and receive timeouts. Note: The incoming timeout
* value is in milliseconds.
*/
StructTimeval timeval = StructTimeval.fromMillis(intValue); StructTimeval timeval = StructTimeval.fromMillis(intValue);
Os.setsockoptTimeval(fd, OsConstants.SOL_SOCKET, OsConstants.SO_RCVTIMEO,
timeval);
Os.setsockoptTimeval(fd, OsConstants.SOL_SOCKET, OsConstants.SO_SNDTIMEO, Os.setsockoptTimeval(fd, OsConstants.SOL_SOCKET, OsConstants.SO_SNDTIMEO,
timeval); timeval);
break; break;