forked from OSchip/llvm-project
Fix TestFdLeak on Linux.
Summary: LLGS leaks pipes (when launched by lldb), sockets (when launched by platform), and/or log file to the inferior. This should prevent all possible leaks. Reviewers: vharron, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9211 llvm-svn: 235615
This commit is contained in:
parent
b8b2ed6529
commit
9cf4f2c2d8
|
@ -1796,6 +1796,12 @@ NativeProcessLinux::Launch(LaunchArgs *args, Error &error)
|
|||
if (!DupDescriptor(args->m_stderr_path.c_str (), STDERR_FILENO, O_WRONLY | O_CREAT | O_TRUNC))
|
||||
exit(eDupStderrFailed);
|
||||
|
||||
// Close everything besides stdin, stdout, and stderr that has no file
|
||||
// action to avoid leaking
|
||||
for (int fd = 3; fd < sysconf(_SC_OPEN_MAX); ++fd)
|
||||
if (!args->m_launch_info.GetFileActionForFD(fd))
|
||||
close(fd);
|
||||
|
||||
// Change working directory
|
||||
if (working_dir != NULL && working_dir[0])
|
||||
if (0 != ::chdir(working_dir))
|
||||
|
|
Loading…
Reference in New Issue