diff options
-rw-r--r-- | libps/procstat.c | 2 | ||||
-rw-r--r-- | libps/ps.h | 4 |
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); } @@ -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 |