Merge "Blocking SIGALRM while using connect syscall to connect emulator to adb" into studio-1.2-release
diff --git a/android/qemu-setup.c b/android/qemu-setup.c
index d728898..7985246 100644
--- a/android/qemu-setup.c
+++ b/android/qemu-setup.c
@@ -363,7 +363,7 @@
*/
int s = socket_loopback_client(adb_host_port, SOCKET_STREAM);
if (s < 0) {
- D("can't connect to ADB server: %s", errno_str );
+ D("can't connect to ADB server: %s (errno = %d)", errno_str, errno );
} else {
char tmp[32];
char header[5];
diff --git a/android/sockets.c b/android/sockets.c
index db87470..6e80bcf 100644
--- a/android/sockets.c
+++ b/android/sockets.c
@@ -1010,6 +1010,16 @@
}
int
+socket_connect_no_sigalrm(int socket, const struct sockaddr *address, socklen_t address_len)
+{
+ int ret;
+ BEGIN_NOSIGALRM
+ ret = connect(socket, address, address_len);
+ END_NOSIGALRM
+ return ret;
+}
+
+int
socket_connect( int fd, const SockAddress* address )
{
sockaddr_storage addr;
@@ -1018,7 +1028,7 @@
if (sock_address_to_bsd(address, &addr, &addrlen) < 0)
return -1;
- SOCKET_CALL(connect(fd,addr.sa,addrlen));
+ SOCKET_CALL(socket_connect_no_sigalrm(fd,addr.sa,addrlen));
}
int