From 596cd22cb10519f9baad6295fed13443d1ef86f9 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 7 Sep 2023 09:04:37 -0600 Subject: Use gdb_dir_up in linux_proc_attach_tgid_threads This changes linux_proc_attach_tgid_threads to use gdb_dir_up. This makes it robust against exceptions. Approved-By: Simon Marchi --- gdb/nat/linux-procfs.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gdb/nat/linux-procfs.c b/gdb/nat/linux-procfs.c index 95ecae4..c7d8ba2 100644 --- a/gdb/nat/linux-procfs.c +++ b/gdb/nat/linux-procfs.c @@ -275,7 +275,6 @@ void linux_proc_attach_tgid_threads (pid_t pid, linux_proc_attach_lwp_func attach_lwp) { - DIR *dir; char pathname[128]; int new_threads_found; int iterations; @@ -284,7 +283,7 @@ linux_proc_attach_tgid_threads (pid_t pid, return; xsnprintf (pathname, sizeof (pathname), "/proc/%ld/task", (long) pid); - dir = opendir (pathname); + gdb_dir_up dir (opendir (pathname)); if (dir == NULL) { warning (_("Could not open %s."), pathname); @@ -300,7 +299,7 @@ linux_proc_attach_tgid_threads (pid_t pid, struct dirent *dp; new_threads_found = 0; - while ((dp = readdir (dir)) != NULL) + while ((dp = readdir (dir.get ())) != NULL) { unsigned long lwp; @@ -321,10 +320,8 @@ linux_proc_attach_tgid_threads (pid_t pid, iterations = -1; } - rewinddir (dir); + rewinddir (dir.get ()); } - - closedir (dir); } /* See linux-procfs.h. */ -- cgit v1.1