Remove regcache_get_ptid
[deliverable/binutils-gdb.git] / gdb / procfs.c
index abae358c44e1fe952bb96457a505f237e60e16b1..e01d6647e1c37145362ca0a01e1f2e87973c1ed3 100644 (file)
@@ -124,7 +124,7 @@ public:
 
   void update_thread_list () override;
 
-  int thread_alive (ptid_t ptid) override;
+  bool thread_alive (ptid_t ptid) override;
 
   const char *pid_to_str (ptid_t) override;
 
@@ -145,7 +145,7 @@ public:
     override;
 #endif
 
-  int stopped_by_watchpoint () override;
+  bool stopped_by_watchpoint () override;
 
   int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
                         struct expression *) override;
@@ -156,7 +156,7 @@ public:
   int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
 
   int can_use_hw_breakpoint (enum bptype, int, int) override;
-  int stopped_data_address (CORE_ADDR *) override;
+  bool stopped_data_address (CORE_ADDR *) override;
 };
 
 static procfs_target the_procfs_target;
@@ -1722,20 +1722,13 @@ proc_delete_dead_threads (procinfo *parent, procinfo *thread, void *ignore)
   return 0;    /* keep iterating */
 }
 
-static void
-do_closedir_cleanup (void *dir)
-{
-  closedir ((DIR *) dir);
-}
-
 static int
 proc_update_threads (procinfo *pi)
 {
   char pathname[MAX_PROC_NAME_SIZE + 16];
   struct dirent *direntry;
-  struct cleanup *old_chain = NULL;
   procinfo *thread;
-  DIR *dirp;
+  gdb_dir_up dirp;
   int lwpid;
 
   /* We should never have to apply this operation to any procinfo
@@ -1756,11 +1749,11 @@ proc_update_threads (procinfo *pi)
 
   strcpy (pathname, pi->pathname);
   strcat (pathname, "/lwp");
-  if ((dirp = opendir (pathname)) == NULL)
+  dirp.reset (opendir (pathname));
+  if (dirp == NULL)
     proc_error (pi, "update_threads, opendir", __LINE__);
 
-  old_chain = make_cleanup (do_closedir_cleanup, dirp);
-  while ((direntry = readdir (dirp)) != NULL)
+  while ((direntry = readdir (dirp.get ())) != NULL)
     if (direntry->d_name[0] != '.')            /* skip '.' and '..' */
       {
        lwpid = atoi (&direntry->d_name[0]);
@@ -1768,7 +1761,6 @@ proc_update_threads (procinfo *pi)
          proc_error (pi, "update_threads, create_procinfo", __LINE__);
       }
   pi->threads_valid = 1;
-  do_cleanups (old_chain);
   return 1;
 }
 
@@ -2071,7 +2063,7 @@ procfs_target::fetch_registers (struct regcache *regcache, int regnum)
 {
   gdb_gregset_t *gregs;
   procinfo *pi;
-  ptid_t ptid = regcache_get_ptid (regcache);
+  ptid_t ptid = regcache->ptid ();
   int pid = ptid_get_pid (ptid);
   int tid = ptid_get_lwp (ptid);
   struct gdbarch *gdbarch = regcache->arch ();
@@ -2120,7 +2112,7 @@ procfs_target::store_registers (struct regcache *regcache, int regnum)
 {
   gdb_gregset_t *gregs;
   procinfo *pi;
-  ptid_t ptid = regcache_get_ptid (regcache);
+  ptid_t ptid = regcache->ptid ();
   int pid = ptid_get_pid (ptid);
   int tid = ptid_get_lwp (ptid);
   struct gdbarch *gdbarch = regcache->arch ();
@@ -3179,7 +3171,7 @@ procfs_target::update_thread_list ()
    really seem to be doing his job.  Got to investigate how to tell
    when a thread is really gone.  */
 
-int
+bool
 procfs_target::thread_alive (ptid_t ptid)
 {
   int proc, thread;
@@ -3189,18 +3181,18 @@ procfs_target::thread_alive (ptid_t ptid)
   thread  = ptid_get_lwp (ptid);
   /* If I don't know it, it ain't alive!  */
   if ((pi = find_procinfo (proc, thread)) == NULL)
-    return 0;
+    return false;
 
   /* If I can't get its status, it ain't alive!
      What's more, I need to forget about it!  */
   if (!proc_get_status (pi))
     {
       destroy_procinfo (pi);
-      return 0;
+      return false;
     }
   /* I couldn't have got its status if it weren't alive, so it's
      alive.  */
-  return 1;
+  return true;
 }
 
 /* Convert PTID to a string.  Returns the string in a static
@@ -3301,7 +3293,7 @@ procfs_target::can_use_hw_breakpoint (enum bptype type, int cnt, int othertype)
 /* Returns non-zero if process is stopped on a hardware watchpoint
    fault, else returns zero.  */
 
-int
+bool
 procfs_target::stopped_by_watchpoint ()
 {
   procinfo *pi;
@@ -3313,10 +3305,10 @@ procfs_target::stopped_by_watchpoint ()
       if (proc_why (pi) == PR_FAULTED)
        {
          if (proc_what (pi) == FLTWATCH)
-           return 1;
+           return true;
        }
     }
-  return 0;
+  return false;
 }
 
 /* Returns 1 if the OS knows the position of the triggered watchpoint,
@@ -3325,7 +3317,7 @@ procfs_target::stopped_by_watchpoint ()
    procfs_stopped_by_watchpoint returned 1, thus no further checks are
    done.  The function also assumes that ADDR is not NULL.  */
 
-int
+bool
 procfs_target::stopped_data_address (CORE_ADDR *addr)
 {
   procinfo *pi;
This page took 0.051413 seconds and 4 git commands to generate.