[Lldb-commits] [lldb] [LLDB] Make sure FILE* is valid before trying to flush it. (PR #169088)
John Harrison via lldb-commits
lldb-commits at lists.llvm.org
Fri Nov 21 12:51:12 PST 2025
================
@@ -378,7 +378,10 @@ Status NativeFile::Close() {
m_options & (File::eOpenOptionReadOnly | File::eOpenOptionWriteOnly |
File::eOpenOptionReadWrite);
- if (rw == eOpenOptionWriteOnly || rw == eOpenOptionReadWrite) {
+ // If the stream is writable, and has not already been closed, flush
+ // it.
+ if ((rw == eOpenOptionWriteOnly || rw == eOpenOptionReadWrite) &&
+ (m_stream->_flags != m_stream->_fileno)) {
----------------
ashgti wrote:
Ok, I think I better understand the crash, its happening because `~FilePointer` is closing the file, which is happening before the `~LockableStreamFile` that is going to try to flush the file.
I think we need to make sure the lockable stream is destroyed before the FilePointer in the Editline tests.
https://github.com/llvm/llvm-project/pull/169088
More information about the lldb-commits
mailing list