Initial Solaris 2.5 port. It's far from being complete and hasn't been
* glibtop_machine.h, procdata.c, proclist.c, procmap.c, procmem.c, procsignal.c, procstate.c, procuid.c, open.c, mem.c: Initial Solaris 2.5 port. It's far from being complete and hasn't been tested properly. We'll need setuid root daemon, which is currently not implemented. #ifdef symbols to check are HAVE_PROCFS_H and KSTAT_DATA_UINT32. These will be defined on Solaris 2.6 and later, but not on earlier releases.
This commit is contained in:
@@ -39,19 +39,26 @@ glibtop_init_proc_mem_s (glibtop *server)
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf,
|
||||
pid_t pid)
|
||||
glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid)
|
||||
{
|
||||
int pagesize = server->machine.pagesize;
|
||||
#ifdef HAVE_PROCFS_H
|
||||
struct psinfo psinfo;
|
||||
#else
|
||||
struct prpsinfo psinfo;
|
||||
int pagesize = server->machine.pagesize;
|
||||
#endif
|
||||
|
||||
memset (buf, 0, sizeof (glibtop_proc_mem));
|
||||
|
||||
if(glibtop_get_proc_data_psinfo_s(server, &psinfo, pid))
|
||||
return;
|
||||
|
||||
buf->size = buf->vsize = psinfo.pr_size;
|
||||
buf->resident = buf->rss = psinfo.pr_rssize;
|
||||
|
||||
#ifdef HAVE_PROCFS_H
|
||||
buf->size = buf->vsize = psinfo.pr_size << 10;
|
||||
buf->resident = buf->rss = psinfo.pr_rssize << 10;
|
||||
#else
|
||||
buf->size = buf->vsize = psinfo.pr_size << pagesize << 10;
|
||||
buf->resident = buf->rss = psinfo.pr_rssize << pagesize << 10;
|
||||
#endif
|
||||
buf->flags = _glibtop_sysdeps_proc_mem;
|
||||
}
|
||||
|
Reference in New Issue
Block a user