diff --git a/lldb/source/Core/ConnectionFileDescriptor.cpp b/lldb/source/Core/ConnectionFileDescriptor.cpp index 1a455f1b5f279cd00cba5bbdbef0ee1c2e27cea7..6069f8beec5fd1e2424695a92d48019bfe0ce580 100644 --- a/lldb/source/Core/ConnectionFileDescriptor.cpp +++ b/lldb/source/Core/ConnectionFileDescriptor.cpp @@ -988,6 +988,13 @@ ConnectionFileDescriptor::SetSocketReceiveTimeout (uint32_t timeout_usec) timeout.tv_sec = 0; timeout.tv_usec = 0; } + else if (timeout_usec == 0) + { + // Sending in zero does an infinite timeout, so set this as low + // as we can go to get an effective zero timeout... + timeout.tv_sec = 0; + timeout.tv_usec = 1; + } else { timeout.tv_sec = timeout_usec / TimeValue::MicroSecPerSec;