[Lldb-commits] [PATCH] Use accept instead of accept4 for Android.

Chaoren Lin chaorenl at google.com
Wed Jul 1 16:51:33 PDT 2015


- It's only a problem on arm.


http://reviews.llvm.org/D10887

Files:
  source/Host/common/Socket.cpp

Index: source/Host/common/Socket.cpp
===================================================================
--- source/Host/common/Socket.cpp
+++ source/Host/common/Socket.cpp
@@ -24,7 +24,11 @@
 #include <asm-generic/errno-base.h>
 #include <errno.h>
 #include <arpa/inet.h>
-#endif
+#ifdef __arm__
+#include <unistd.h>
+#include <sys/syscall.h>
+#endif // __arm__
+#endif // __ANDROID_NDK__
 
 #ifndef LLDB_DISABLE_POSIX
 #include <arpa/inet.h>
@@ -70,7 +74,12 @@
 
 NativeSocket Accept(NativeSocket sockfd, struct sockaddr *addr, socklen_t *addrlen, bool child_processes_inherit)
 {
-#ifdef SOCK_CLOEXEC
+#if defined(__ANDROID_NDK__) && defined(__arm__)
+	int fd = syscall(__NR_accept, sockfd, addr, addrlen);
+	if (fd >= 0 && !child_processes_inherit)
+		fcntl(fd, F_SETFD, FD_CLOEXEC);
+	return fd;
+#elif defined(SOCK_CLOEXEC)
     int flags = 0;
     if (!child_processes_inherit) {
         flags |= SOCK_CLOEXEC;

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10887.28918.patch
Type: text/x-patch
Size: 919 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150701/2396d733/attachment.bin>


More information about the lldb-commits mailing list