diff options
author | Bo Hu <bohu@google.com> | 2015-03-09 22:58:26 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-03-09 22:58:27 +0000 |
commit | 9671c7d916c1312ade5af45f5a6650b9c5e43407 (patch) | |
tree | 70595caa5a15286d038bacd26ae9cd1be973ca55 | |
parent | 21bd5fcd5ae4432a3d4056e4aa208178b780b84d (diff) | |
parent | 6b75b11a182fc4ebb1ab6484d414967d8fa5f8d4 (diff) | |
download | qemu-9671c7d916c1312ade5af45f5a6650b9c5e43407.tar.gz |
Merge "Blocking SIGALRM while using connect syscall to connect emulator to adb" into studio-1.2-releasegradle_1.2.3gradle_1.2.2gradle_1.2.1gradle_1.2.0-beta1gradle_1.2.0
-rw-r--r-- | android/qemu-setup.c | 2 | ||||
-rw-r--r-- | android/sockets.c | 12 |
2 files changed, 12 insertions, 2 deletions
diff --git a/android/qemu-setup.c b/android/qemu-setup.c index d72889886a..7985246d7e 100644 --- a/android/qemu-setup.c +++ b/android/qemu-setup.c @@ -363,7 +363,7 @@ void android_emulation_setup( void ) */ 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 db8747052b..6e80bcf8f7 100644 --- a/android/sockets.c +++ b/android/sockets.c @@ -1010,6 +1010,16 @@ socket_recvfrom(int fd, void* buf, int len, SockAddress* from) } 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 @@ socket_connect( int fd, const SockAddress* address ) 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 |