@@ -873,9 +873,11 @@ llvm::StringRef Debugger::GetStaticBroadcasterClass() {
873873Debugger::Debugger (lldb::LogOutputCallback log_callback, void *baton)
874874 : UserID(g_unique_id++),
875875 Properties(std::make_shared<OptionValueProperties>()),
876- m_input_file_sp(std::make_shared<NativeFile>(stdin, false )),
877- m_output_stream_sp(std::make_shared<LockableStreamFile>(stdout, false )),
878- m_error_stream_sp(std::make_shared<LockableStreamFile>(stderr, false )),
876+ m_input_file_sp(std::make_shared<NativeFile>(stdin, NativeFile::Unowned)),
877+ m_output_stream_sp(std::make_shared<LockableStreamFile>(
878+ stdout, NativeFile::Unowned, m_output_mutex)),
879+ m_error_stream_sp(std::make_shared<LockableStreamFile>(
880+ stderr, NativeFile::Unowned, m_output_mutex)),
879881 m_input_recorder(nullptr ),
880882 m_broadcaster_manager_sp(BroadcasterManager::MakeBroadcasterManager()),
881883 m_terminal_state(), m_target_list(*this ), m_platform_list(),
@@ -1083,12 +1085,14 @@ void Debugger::SetInputFile(FileSP file_sp) {
10831085
10841086void Debugger::SetOutputFile (FileSP file_sp) {
10851087 assert (file_sp && file_sp->IsValid ());
1086- m_output_stream_sp = std::make_shared<LockableStreamFile>(file_sp);
1088+ m_output_stream_sp =
1089+ std::make_shared<LockableStreamFile>(file_sp, m_output_mutex);
10871090}
10881091
10891092void Debugger::SetErrorFile (FileSP file_sp) {
10901093 assert (file_sp && file_sp->IsValid ());
1091- m_error_stream_sp = std::make_shared<LockableStreamFile>(file_sp);
1094+ m_error_stream_sp =
1095+ std::make_shared<LockableStreamFile>(file_sp, m_output_mutex);
10921096}
10931097
10941098void Debugger::SaveInputTerminalState () {
@@ -1244,7 +1248,7 @@ void Debugger::AdoptTopIOHandlerFilesIfInvalid(FileSP &in,
12441248 in = GetInputFileSP ();
12451249 // If there is nothing, use stdin
12461250 if (!in)
1247- in = std::make_shared<NativeFile>(stdin, false );
1251+ in = std::make_shared<NativeFile>(stdin, NativeFile::Unowned );
12481252 }
12491253 // If no STDOUT has been set, then set it appropriately
12501254 if (!out || !out->GetUnlockedFile ().IsValid ()) {
@@ -1254,7 +1258,8 @@ void Debugger::AdoptTopIOHandlerFilesIfInvalid(FileSP &in,
12541258 out = GetOutputStreamSP ();
12551259 // If there is nothing, use stdout
12561260 if (!out)
1257- out = std::make_shared<LockableStreamFile>(stdout, false );
1261+ out = std::make_shared<LockableStreamFile>(stdout, NativeFile::Unowned,
1262+ m_output_mutex);
12581263 }
12591264 // If no STDERR has been set, then set it appropriately
12601265 if (!err || !err->GetUnlockedFile ().IsValid ()) {
@@ -1264,7 +1269,8 @@ void Debugger::AdoptTopIOHandlerFilesIfInvalid(FileSP &in,
12641269 err = GetErrorStreamSP ();
12651270 // If there is nothing, use stderr
12661271 if (!err)
1267- err = std::make_shared<LockableStreamFile>(stderr, false );
1272+ err = std::make_shared<LockableStreamFile>(stderr, NativeFile::Unowned,
1273+ m_output_mutex);
12681274 }
12691275}
12701276
0 commit comments