Author: Michał Górny Date: 2021-10-25T16:24:00+02:00 New Revision: 9d63b90b59a6283531199e29038954db9ae23d74
URL: https://github.com/llvm/llvm-project/commit/9d63b90b59a6283531199e29038954db9ae23d74 DIFF: https://github.com/llvm/llvm-project/commit/9d63b90b59a6283531199e29038954db9ae23d74.diff LOG: [lldb] [Host/ConnectionFileDescriptor] Do not use non-blocking mode Disable non-blocking mode that's enabled only for file:// and serial:// protocols. All read operations should be going through the select(2) in ConnectionFileDescriptor::BytesAvaliable, which effectively erases (non-)blocking mode differences in reading. We do want to perform writes in the blocking mode. Differential Revision: https://reviews.llvm.org/D112442 Added: Modified: lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp Removed: ################################################################################ diff --git a/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp b/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp index e333394f0ea79..8e8ff8a4e3a03 100644 --- a/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp +++ b/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp @@ -722,13 +722,6 @@ ConnectionStatus ConnectionFileDescriptor::ConnectFile(llvm::StringRef s, llvm::sys::RetryAfterSignal(-1, ::tcsetattr, fd, TCSANOW, &options); } - int flags = ::fcntl(fd, F_GETFL, 0); - if (flags >= 0) { - if ((flags & O_NONBLOCK) == 0) { - flags |= O_NONBLOCK; - ::fcntl(fd, F_SETFL, flags); - } - } m_io_sp = std::make_shared<NativeFile>(fd, File::eOpenOptionReadWrite, true); return eConnectionStatusSuccess; @@ -761,14 +754,6 @@ ConnectionFileDescriptor::ConnectSerialPort(llvm::StringRef s, return eConnectionStatusError; } - int flags = ::fcntl(fd, F_GETFL, 0); - if (flags >= 0) { - if ((flags & O_NONBLOCK) == 0) { - flags |= O_NONBLOCK; - ::fcntl(fd, F_SETFL, flags); - } - } - llvm::Expected<std::unique_ptr<SerialPort>> serial_sp = SerialPort::Create( fd, File::eOpenOptionReadWrite, serial_options.get(), true); if (!serial_sp) { _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits