close_procinfo_files (pi);
/* Step three: free the memory. */
- free (pi);
+ xfree (pi);
}
static void
malloc (sizeof (gdb_prstatus_t) * (nlwp + 1))) == 0)
perror_with_name ("procfs: malloc failed in update_threads");
- old_chain = make_cleanup (free, prstatus);
+ old_chain = make_cleanup (xfree, prstatus);
if (ioctl (pi->ctl_fd, PIOCLSTATUS, prstatus) < 0)
proc_error (pi, "update_threads (PIOCLSTATUS)", __LINE__);
{
procinfo *pi;
- pi = find_procinfo_or_die (pid == -1 ?
- PIDGET (inferior_pid) : PIDGET (pid), 0);
+ pi = find_procinfo (pid == -1 ?
+ PIDGET (inferior_pid) : PIDGET (pid), 0);
+
+ if (!pi) /* If no process, then not stopped by watchpoint! */
+ return 0;
+
if (proc_flags (pi) & (PR_STOPPED | PR_ISTOP))
{
if (proc_why (pi) == PR_FAULTED)