mgorny updated this revision to Diff 191553.
mgorny added a comment.
Got rid of `close()` and `fclose()` wrapping, for now.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59606/new/
https://reviews.llvm.org/D59606
Files:
lldb/source/Host/common/Socket.cpp
lldb/source/Host/common/TCPSocket.cpp
lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
lldb/source/Host/posix/DomainSocket.cpp
lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
lldb/tools/darwin-debug/darwin-debug.cpp
lldb/tools/debugserver/source/RNBSocket.cpp
lldb/tools/debugserver/source/debugserver.cpp
lldb/tools/lldb-vscode/lldb-vscode.cpp
Index: lldb/tools/lldb-vscode/lldb-vscode.cpp
===================================================================
--- lldb/tools/lldb-vscode/lldb-vscode.cpp
+++ lldb/tools/lldb-vscode/lldb-vscode.cpp
@@ -41,6 +41,7 @@
#include <thread>
#include "llvm/ADT/ArrayRef.h"
+#include "llvm/Support/Errno.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/raw_ostream.h"
@@ -90,7 +91,8 @@
} else {
listen(sockfd, 5);
socklen_t clilen = sizeof(cli_addr);
- newsockfd = accept(sockfd, (struct sockaddr *)&cli_addr, &clilen);
+ newsockfd = llvm::sys::RetryAfterSignal(-1, accept,
+ sockfd, (struct sockaddr *)&cli_addr, &clilen);
if (newsockfd < 0)
if (g_vsc.log)
*g_vsc.log << "error: accept (" << strerror(errno) << ")"
Index: lldb/tools/debugserver/source/debugserver.cpp
===================================================================
--- lldb/tools/debugserver/source/debugserver.cpp
+++ lldb/tools/debugserver/source/debugserver.cpp
@@ -681,8 +681,9 @@
saddr_un.sun_path[sizeof(saddr_un.sun_path) - 1] = '\0';
saddr_un.sun_len = SUN_LEN(&saddr_un);
- if (::connect(s, (struct sockaddr *)&saddr_un,
- static_cast<socklen_t>(SUN_LEN(&saddr_un))) < 0) {
+ if (llvm::sys::RetryAfterSignal(-1, ::connect, s,
+ (struct sockaddr *)&saddr_un,
+ static_cast<socklen_t>(SUN_LEN(&saddr_un))) < 0) {
perror("error: connect (socket, &saddr_un, saddr_un_len)");
exit(1);
}
Index: lldb/tools/debugserver/source/RNBSocket.cpp
===================================================================
--- lldb/tools/debugserver/source/RNBSocket.cpp
+++ lldb/tools/debugserver/source/RNBSocket.cpp
@@ -25,6 +25,7 @@
#include <vector>
#include "lldb/Host/SocketAddress.h"
+#include "llvm/Support/Errno.h"
#ifdef WITH_LOCKDOWN
#include "lockdown.h"
@@ -169,7 +170,8 @@
lldb_private::SocketAddress &addr_in = socket_pair->second;
lldb_private::SocketAddress accept_addr;
socklen_t sa_len = accept_addr.GetMaxLength();
- m_fd = ::accept(sock_fd, &accept_addr.sockaddr(), &sa_len);
+ m_fd = llvm::sys::RetryAfterSignal(-1, ::accept,
+ sock_fd, &accept_addr.sockaddr(), &sa_len);
if (m_fd == -1) {
err.SetError(errno, DNBError::POSIX);
@@ -230,7 +232,8 @@
address.SetPort(port);
- if (-1 == ::connect(m_fd, &address.sockaddr(), address.GetLength())) {
+ if (-1 == llvm::sys::RetryAfterSignal(-1, ::connect, m_fd,
+ &address.sockaddr(), address.GetLength())) {
Disconnect(false);
continue;
}
Index: lldb/tools/darwin-debug/darwin-debug.cpp
===================================================================
--- lldb/tools/darwin-debug/darwin-debug.cpp
+++ lldb/tools/darwin-debug/darwin-debug.cpp
@@ -39,6 +39,8 @@
#include <string>
+#include "llvm/Support/Errno.h"
+
#ifndef _POSIX_SPAWN_DISABLE_ASLR
#define _POSIX_SPAWN_DISABLE_ASLR 0x0100
#endif
@@ -287,7 +289,8 @@
saddr_un.sun_path[sizeof(saddr_un.sun_path) - 1] = '\0';
saddr_un.sun_len = SUN_LEN(&saddr_un);
- if (::connect(s, (struct sockaddr *)&saddr_un, SUN_LEN(&saddr_un)) < 0) {
+ if (llvm::sys::RetryAfterSignal(-1, ::connect, s,
+ (struct sockaddr *)&saddr_un, SUN_LEN(&saddr_un)) < 0) {
perror("error: connect (socket, &saddr_un, saddr_un_len)");
exit(1);
}
Index: lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
===================================================================
--- lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
+++ lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
@@ -21,6 +21,7 @@
#include "lldb/Utility/Stream.h"
#include "llvm/Support/ConvertUTF.h"
+#include "llvm/Support/Errno.h"
#include <stdio.h>
@@ -39,7 +40,7 @@
void PythonObject::Dump(Stream &strm) const {
if (m_py_obj) {
- FILE *file = ::tmpfile();
+ FILE *file = llvm::sys::RetryAfterSignal(nullptr, ::tmpfile);
if (file) {
::PyObject_Print(m_py_obj, file, 0);
const long length = ftell(file);
@@ -47,7 +48,8 @@
::rewind(file);
std::vector<char> file_contents(length, '\0');
const size_t length_read =
- ::fread(file_contents.data(), 1, file_contents.size(), file);
+ llvm::sys::RetryAfterSignal(0, ::fread,
+ file_contents.data(), 1, file_contents.size(), file);
if (length_read > 0)
strm.Write(file_contents.data(), length_read);
}
Index: lldb/source/Host/posix/DomainSocket.cpp
===================================================================
--- lldb/source/Host/posix/DomainSocket.cpp
+++ lldb/source/Host/posix/DomainSocket.cpp
@@ -8,6 +8,7 @@
#include "lldb/Host/posix/DomainSocket.h"
+#include "llvm/Support/Errno.h"
#include "llvm/Support/FileSystem.h"
#include <stddef.h>
@@ -81,8 +82,8 @@
m_socket = CreateSocket(kDomain, kType, 0, m_child_processes_inherit, error);
if (error.Fail())
return error;
- if (::connect(GetNativeSocket(), (struct sockaddr *)&saddr_un, saddr_un_len) <
- 0)
+ if (llvm::sys::RetryAfterSignal(-1, ::connect, GetNativeSocket(),
+ (struct sockaddr *)&saddr_un, saddr_un_len) < 0)
SetLastError(error);
return error;
Index: lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
===================================================================
--- lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
+++ lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
@@ -252,8 +252,10 @@
::tcgetattr(fd, &options);
// Set port speed to maximum
- ::cfsetospeed(&options, B115200);
- ::cfsetispeed(&options, B115200);
+ llvm::sys::RetryAfterSignal(-1, ::cfsetospeed,
+ &options, B115200);
+ llvm::sys::RetryAfterSignal(-1, ::cfsetispeed,
+ &options, B115200);
// Raw input, disable echo and signals
options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
Index: lldb/source/Host/common/TCPSocket.cpp
===================================================================
--- lldb/source/Host/common/TCPSocket.cpp
+++ lldb/source/Host/common/TCPSocket.cpp
@@ -17,6 +17,7 @@
#include "lldb/Utility/Log.h"
#include "llvm/Config/llvm-config.h"
+#include "llvm/Support/Errno.h"
#include "llvm/Support/raw_ostream.h"
#ifndef LLDB_DISABLE_POSIX
@@ -150,8 +151,8 @@
address.SetPort(port);
- if (-1 == ::connect(GetNativeSocket(), &address.sockaddr(),
- address.GetLength())) {
+ if (-1 == llvm::sys::RetryAfterSignal(-1, ::connect,
+ GetNativeSocket(), &address.sockaddr(), address.GetLength())) {
CLOSE_SOCKET(GetNativeSocket());
continue;
}
Index: lldb/source/Host/common/Socket.cpp
===================================================================
--- lldb/source/Host/common/Socket.cpp
+++ lldb/source/Host/common/Socket.cpp
@@ -18,6 +18,7 @@
#include "lldb/Utility/RegularExpression.h"
#include "llvm/ADT/STLExtras.h"
+#include "llvm/Support/Errno.h"
#ifndef LLDB_DISABLE_POSIX
#include "lldb/Host/posix/DomainSocket.h"
@@ -450,9 +451,11 @@
if (!child_processes_inherit) {
flags |= SOCK_CLOEXEC;
}
- NativeSocket fd = ::accept4(sockfd, addr, addrlen, flags);
+ NativeSocket fd = llvm::sys::RetryAfterSignal(-1, ::accept4,
+ sockfd, addr, addrlen, flags);
#else
- NativeSocket fd = ::accept(sockfd, addr, addrlen);
+ NativeSocket fd = llvm::sys::RetryAfterSignal(-1, ::accept,
+ sockfd, addr, addrlen);
#endif
if (fd == kInvalidSocketValue)
SetLastError(error);
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits