summaryrefslogtreecommitdiffstats
path: root/lldb
diff options
context:
space:
mode:
Diffstat (limited to 'lldb')
-rw-r--r--lldb/include/lldb/Host/windows/ConnectionGenericFileWindows.h2
-rw-r--r--lldb/source/Host/macosx/Host.mm4
-rw-r--r--lldb/source/Host/windows/ConnectionGenericFileWindows.cpp8
-rw-r--r--lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp7
4 files changed, 14 insertions, 7 deletions
diff --git a/lldb/include/lldb/Host/windows/ConnectionGenericFileWindows.h b/lldb/include/lldb/Host/windows/ConnectionGenericFileWindows.h
index eceecf755b1..4a5a3858a82 100644
--- a/lldb/include/lldb/Host/windows/ConnectionGenericFileWindows.h
+++ b/lldb/include/lldb/Host/windows/ConnectionGenericFileWindows.h
@@ -32,7 +32,7 @@ public:
lldb::ConnectionStatus Disconnect(Error *error_ptr) override;
- size_t Read(void *dst, size_t dst_len, uint32_t timeout_usec,
+ size_t Read(void *dst, size_t dst_len, const Timeout<std::micro> &timeout,
lldb::ConnectionStatus &status, Error *error_ptr) override;
size_t Write(const void *src, size_t src_len, lldb::ConnectionStatus &status,
diff --git a/lldb/source/Host/macosx/Host.mm b/lldb/source/Host/macosx/Host.mm
index 50db9f54c0e..6c0a44b9bfb 100644
--- a/lldb/source/Host/macosx/Host.mm
+++ b/lldb/source/Host/macosx/Host.mm
@@ -144,8 +144,8 @@ static void *AcceptPIDFromInferior(void *arg) {
char pid_str[256];
::memset(pid_str, 0, sizeof(pid_str));
ConnectionStatus status;
- const size_t pid_str_len =
- file_conn.Read(pid_str, sizeof(pid_str), 0, status, NULL);
+ const size_t pid_str_len = file_conn.Read(
+ pid_str, sizeof(pid_str), std::chrono::seconds(0), status, NULL);
if (pid_str_len > 0) {
int pid = atoi(pid_str);
return (void *)(intptr_t)pid;
diff --git a/lldb/source/Host/windows/ConnectionGenericFileWindows.cpp b/lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
index d13eb10c620..5d48a1c867a 100644
--- a/lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
+++ b/lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
@@ -168,7 +168,7 @@ lldb::ConnectionStatus ConnectionGenericFile::Disconnect(Error *error_ptr) {
}
size_t ConnectionGenericFile::Read(void *dst, size_t dst_len,
- uint32_t timeout_usec,
+ const Timeout<std::micro> &timeout,
lldb::ConnectionStatus &status,
Error *error_ptr) {
ReturnInfo return_info;
@@ -191,7 +191,11 @@ size_t ConnectionGenericFile::Read(void *dst, size_t dst_len,
// The expected return path. The operation is pending. Wait for the
// operation to complete
// or be interrupted.
- DWORD milliseconds = timeout_usec/1000;
+ DWORD milliseconds =
+ timeout
+ ? std::chrono::duration_cast<std::chrono::milliseconds>(*timeout)
+ .count()
+ : INFINITE;
DWORD wait_result =
::WaitForMultipleObjects(llvm::array_lengthof(m_event_handles),
m_event_handles, FALSE, milliseconds);
diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp b/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
index 50f92680dcd..43e4617feaf 100644
--- a/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
+++ b/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
@@ -210,8 +210,11 @@ size_t CommunicationKDP::WaitForPacketWithTimeoutMicroSecondsNoLock(
bool timed_out = false;
while (IsConnected() && !timed_out) {
lldb::ConnectionStatus status = eConnectionStatusNoConnection;
- size_t bytes_read =
- Read(buffer, sizeof(buffer), timeout_usec, status, &error);
+ size_t bytes_read = Read(buffer, sizeof(buffer),
+ timeout_usec == UINT32_MAX
+ ? Timeout<std::micro>(llvm::None)
+ : std::chrono::microseconds(timeout_usec),
+ status, &error);
if (log)
log->Printf("%s: Read (buffer, (sizeof(buffer), timeout_usec = 0x%x, "
OpenPOWER on IntegriCloud