summaryrefslogtreecommitdiff
path: root/libps
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2010-08-26 23:55:57 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2010-08-26 23:55:57 +0200
commitb34bcabd5d030552206697a5ab530eb3aac43e50 (patch)
tree344c75d89d4b97e1a02bb11aea03f6dea50271f8 /libps
parent818edad80ccf91825554f0088e2e3d8a0c5a6785 (diff)
parent862bdf3d26ac8fd61c7f7f6664bf0999774be434 (diff)
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
Diffstat (limited to 'libps')
-rw-r--r--libps/procstat.c2
-rw-r--r--libps/ps.h4
2 files changed, 5 insertions, 1 deletions
diff --git a/libps/procstat.c b/libps/procstat.c
index 44dc3292..13f18292 100644
--- a/libps/procstat.c
+++ b/libps/procstat.c
@@ -1053,6 +1053,8 @@ _proc_stat_free (ps)
MFREEMEM (PSTAT_ENV, env, ps->env_len, ps->env_vm_alloced, 0, char);
MFREEMEM (PSTAT_TASK_EVENTS, task_events_info, ps->task_events_info_size,
0, &ps->task_events_info_buf, char);
+ MFREEMEM (PSTAT_THREAD_WAITS, thread_waits, ps->thread_waits_len,
+ ps->thread_waits_vm_alloced, 0, char);
FREE (ps);
}
diff --git a/libps/ps.h b/libps/ps.h
index 27f2e787..23e2cc3e 100644
--- a/libps/ps.h
+++ b/libps/ps.h
@@ -454,7 +454,9 @@ error_t _proc_stat_create (pid_t pid, struct ps_context *context,
/* Frees PS and any memory/ports it references. Users shouldn't use this
routine; proc_stats are normally freed only when their ps_context goes
- away. */
+ away. Insubordinate users will make sure they free the thread proc_stats
+ before they free the corresponding process proc_stat since the thread_wait
+ fields of the former may reference the latter. */
void _proc_stat_free (struct proc_stat *ps);
/* Adds FLAGS to PS's flags, fetching information as necessary to validate