*** empty log message ***

This commit is contained in:
Martin Baulig
1999-03-24 21:38:15 +00:00
parent 6a9a681559
commit 4b9e977fdc
8 changed files with 129 additions and 6 deletions

View File

@@ -24,14 +24,27 @@
#include <glibtop.h>
#include <glibtop/procsegment.h>
static const unsigned long _glibtop_sysdeps_proc_segment = 0;
#include <glibtop_private.h>
static const unsigned long _glibtop_sysdeps_proc_segment =
(1 << GLIBTOP_PROC_SEGMENT_TEXT_RSS) +
(1 << GLIBTOP_PROC_SEGMENT_SHLIB_RSS) +
(1 << GLIBTOP_PROC_SEGMENT_DATA_RSS) +
(1 << GLIBTOP_PROC_SEGMENT_STACK_RSS) +
(1 << GLIBTOP_PROC_SEGMENT_DIRTY_SIZE);
static const unsigned long _glibtop_sysdeps_proc_segment_state =
(1 << GLIBTOP_PROC_SEGMENT_START_CODE) +
(1 << GLIBTOP_PROC_SEGMENT_END_CODE) +
(1 << GLIBTOP_PROC_SEGMENT_START_STACK);
/* Init function. */
void
glibtop_init_proc_segment_s (glibtop *server)
{
server->sysdeps.proc_segment = _glibtop_sysdeps_proc_segment;
server->sysdeps.proc_segment = _glibtop_sysdeps_proc_segment |
_glibtop_sysdeps_proc_segment_state;
}
/* Provides detailed information about a process. */
@@ -40,5 +53,28 @@ void
glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf,
pid_t pid)
{
libgtop_proc_mem_t proc_mem;
libgtop_proc_state_t proc_state;
memset (buf, 0, sizeof (glibtop_proc_segment));
if (glibtop_get_proc_data_proc_mem_s (server, &proc_mem, pid))
return;
buf->text_rss = proc_mem.trs;
buf->shlib_rss = proc_mem.lrs;
buf->data_rss = proc_mem.drs;
buf->stack_rss = proc_mem.segment.stack;
buf->dirty_size = proc_mem.dt;
buf->flags = _glibtop_sysdeps_proc_segment;
if (glibtop_get_proc_data_proc_state_s (server, &proc_state, pid))
return;
buf->start_code = proc_state.start_code;
buf->end_code = proc_state.end_code;
buf->start_stack = proc_state.start_stack;
buf->flags |= _glibtop_sysdeps_proc_segment_state;
}