[lldb] [Python] Do not attempt to flush() a read-only fd
Summary: When creating a FileSP object, do not flush() the underlying file unless it is open for writing. Attempting to flush() a read-only fd results in EBADF on NetBSD. Reviewers: lawrence_danna, labath, krytarowski Reviewed By: lawrence_danna, labath Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D69320
This commit is contained in:
committed by
Pavel Labath
parent
ec66603ac7
commit
267cc3292e
@@ -1385,11 +1385,13 @@ llvm::Expected<FileSP> PythonFile::ConvertToFile(bool borrowed) {
|
||||
if (!options)
|
||||
return options.takeError();
|
||||
|
||||
// LLDB and python will not share I/O buffers. We should probably
|
||||
// flush the python buffers now.
|
||||
auto r = CallMethod("flush");
|
||||
if (!r)
|
||||
return r.takeError();
|
||||
if (options.get() & File::eOpenOptionWrite) {
|
||||
// LLDB and python will not share I/O buffers. We should probably
|
||||
// flush the python buffers now.
|
||||
auto r = CallMethod("flush");
|
||||
if (!r)
|
||||
return r.takeError();
|
||||
}
|
||||
|
||||
FileSP file_sp;
|
||||
if (borrowed) {
|
||||
|
||||
Reference in New Issue
Block a user