================ @@ -182,3 +191,20 @@ std::vector<std::string> DomainSocket::GetListeningConnectionURI() const { return {llvm::formatv("unix-connect://{0}", addr.sun_path)}; } + +llvm::Expected<std::unique_ptr<DomainSocket>> +DomainSocket::FromBoundNativeSocket(NativeSocket sockfd, bool should_close) { +#ifdef __linux__ + // Check if fd represents domain socket or abstract socket. + struct sockaddr_un addr; + socklen_t addr_len = sizeof(addr); + if (getsockname(sockfd, (struct sockaddr *)&addr, &addr_len) == -1) + return llvm::createStringError("not a socket or error occurred"); + if (addr.sun_family != AF_UNIX) + return llvm::createStringError("Bad socket type"); ---------------- emrekultursay wrote:
Done. https://github.com/llvm/llvm-project/pull/136466 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits