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