[Lldb-commits] [lldb] [lldb][windows] fix command source hitting EOF (PR #194950)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Thu May 28 01:35:31 PDT 2026
================
@@ -264,30 +264,34 @@ IOObject::WaitableHandle NativeFileBase::GetWaitableHandle() {
FILE *NativeFileBase::GetStream() {
ValueGuard stream_guard = StreamIsValid();
- if (!stream_guard) {
- if (ValueGuard descriptor_guard = DescriptorIsValid()) {
- auto mode = GetStreamOpenModeFromOptions(m_options);
- if (!mode)
- llvm::consumeError(mode.takeError());
- else {
- if (!m_own_descriptor) {
- // We must duplicate the file descriptor if we don't own it because
- // when you call fdopen, the stream will own the fd.
- m_descriptor = Dup(m_descriptor);
- m_own_descriptor = true;
- }
-
- m_stream = llvm::sys::RetryAfterSignal(nullptr, ::fdopen, m_descriptor,
- mode.get());
-
- // If we got a stream, then we own the stream and should no longer own
- // the descriptor because fclose() will close it for us
-
- if (m_stream) {
- m_own_stream = true;
- m_own_descriptor = false;
- }
- }
+ if (stream_guard)
+ return m_stream;
+
+ ValueGuard descriptor_guard = DescriptorIsValid();
+ if (!descriptor_guard)
+ return m_stream;
+
+ auto mode = GetStreamOpenModeFromOptions(m_options);
+ if (!mode)
----------------
DavidSpickett wrote:
Use an early return here, like you did for the ones above.
https://github.com/llvm/llvm-project/pull/194950
More information about the lldb-commits
mailing list