]> granicus.if.org Git - procps-ng/commit
library: implement task/thread support via the new api
authorJim Warner <james.warner@comcast.net>
Wed, 19 Aug 2015 05:00:00 +0000 (00:00 -0500)
committerCraig Small <csmall@enc.com.au>
Sun, 23 Aug 2015 11:05:06 +0000 (21:05 +1000)
commit7e6a371d8a36b250a2edddff9f5d059640b8132e
tree71a84051aecdbe1e97d9ddb6a6283f65428fddff
parent3881a0844afe4d1b3cd512b2c2fd79e11bb0ed06
library: implement task/thread support via the new api

This commit is the culmination of efforts to modernize
the library api. It should be treated as a first blush
attempt, especially since I have absolutely no library
design experience. But I did have a very strong desire
to lessen the new library's impact on the top program.

Under this new api, a 'stack' is the equivalent of the
old proc_t. It can be seen as a variable length record
whose contents & order is under complete user control.

That initial stack/record configuration is established
at procps_pids_new() time and will probably serve most
program needs. But, a dynamic & demanding program like
top will later change a stack via procps_pids_reset().

For programs like top & ps, procps_pids_reap() will be
the function that will retrieve all tasks and threads.

Any program that needs to filter / select only certain
processes or users have available other functions that
can be used: procps_pids_stacks_alloc, fill & dealloc.

This implementation attempts to maximize that existing
proven libprocps code base. As we gain more experience
such actual code can be migrated into the pids.c file.

Signed-off-by: Jim Warner <james.warner@comcast.net>
Makefile.am
proc/libprocps.sym
proc/pids.c [new file with mode: 0644]
proc/pids.h [new file with mode: 0644]