Go to file
Greg Clayton c6c420fca1 Switch over to using socketpair for local debugserver connections as they are twice as fast as TCP sockets (on macOS at least).
This change opens a socket pair and passes the second socket pair file descriptor down to the debugserver binary using a new option: "--fd=N" where N is the file descriptor. This file descriptor gets passed via posix_spawn() so that there is no need to do any bind/listen or bind/accept calls and eliminates the hanshake unix socket that is used to pass the result of the actual port that ends up being used so it can save time on launch as well as being faster.

This is currently only enabled on __APPLE__ builds. Other OSs should try modifying the #define from ProcessGDBRemote.cpp but the first person will need to port the --fd option over to lldb-server. Any OSs that enable USE_SOCKETPAIR_FOR_LOCAL_CONNECTION in their native builds can use the socket pair stuff. The #define is Apple only right now, but looks like:

#if defined (__APPLE__)
#define USE_SOCKETPAIR_FOR_LOCAL_CONNECTION 1
#endif

<rdar://problem/27814880> 

llvm-svn: 278524
2016-08-12 16:46:18 +00:00
clang [ASTMatchers] Add templateTypeParmDecl() to Registry.cpp 2016-08-12 13:51:00 +00:00
clang-tools-extra [clang-tidy] fix readability-else-after-return test 2016-08-11 08:18:39 +00:00
compiler-rt [mips] Remove obstack.cc XFAIL added in r278504 since it broke X86 and PPC somehow. 2016-08-12 15:34:35 +00:00
debuginfo-tests
libclc Make min follow the OCL 1.0 specs 2016-07-25 22:36:22 +00:00
libcxx Remove test for the sign of a NaN - doesn't work on MIPS, not strictly legal. Fixes bug 28936 2016-08-11 18:46:24 +00:00
libcxxabi Depend directly on unwind when not building standalone 2016-08-09 21:28:52 +00:00
libunwind Allow building both shared and static library 2016-08-08 22:55:48 +00:00
lld MachO: Use ilist_half_embedded_sentinel_traits, NFC 2016-08-12 16:25:04 +00:00
lldb Switch over to using socketpair for local debugserver connections as they are twice as fast as TCP sockets (on macOS at least). 2016-08-12 16:46:18 +00:00
llgo [llgo] add llgo source path to LLVM_GO_PACKAGES 2016-07-27 03:01:00 +00:00
llvm Fine tuning of sample profile propagation algorithm. 2016-08-12 16:22:12 +00:00
openmp Fixes for hierarchical barrier (possible hang if team size changed). 2016-08-11 13:04:00 +00:00
parallel-libs [StreamExecutor] Add DeviceMemory and kernel arg packing 2016-08-08 16:45:19 +00:00
polly [GPGPU] Ensure arrays where only parts are modified are copied to GPU 2016-08-10 10:58:19 +00:00