diff --git a/sysdeps/solaris/ChangeLog b/sysdeps/solaris/ChangeLog index 3b8b4412..9b69af31 100644 --- a/sysdeps/solaris/ChangeLog +++ b/sysdeps/solaris/ChangeLog @@ -1,3 +1,7 @@ +1999-05-11 Drazen Kacar + + * proctime.c: Return 0 usage times for scheaduler (PID 0). + 1999-05-10 Drazen Kacar * proclist.c: Added process selection mechanism. It's not diff --git a/sysdeps/solaris/proctime.c b/sysdeps/solaris/proctime.c index 709ebd63..1c63bd0c 100644 --- a/sysdeps/solaris/proctime.c +++ b/sysdeps/solaris/proctime.c @@ -48,18 +48,23 @@ glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, memset (buf, 0, sizeof (glibtop_proc_time)); - if (glibtop_get_proc_data_usage_s (server, &prusage, pid)) - return; + /* Don't do it for scheduler, we don't want to frighten our users */ - buf->start_time = prusage.pr_create.tv_sec * 1E+6 + - prusage.pr_create.tv_nsec / 1E+3; + if(pid) + { + if (glibtop_get_proc_data_usage_s (server, &prusage, pid)) + return; - buf->rtime = prusage.pr_rtime.tv_sec * 1E+6 + - prusage.pr_rtime.tv_nsec / 1E+3; - buf->utime = prusage.pr_utime.tv_sec * 1E+6 + - prusage.pr_utime.tv_nsec / 1E+3; - buf->stime = prusage.pr_stime.tv_sec * 1E+6 + - prusage.pr_stime.tv_nsec / 1E+3; + buf->start_time = prusage.pr_create.tv_sec * 1E+6 + + prusage.pr_create.tv_nsec / 1E+3; + + buf->rtime = prusage.pr_rtime.tv_sec * 1E+6 + + prusage.pr_rtime.tv_nsec / 1E+3; + buf->utime = prusage.pr_utime.tv_sec * 1E+6 + + prusage.pr_utime.tv_nsec / 1E+3; + buf->stime = prusage.pr_stime.tv_sec * 1E+6 + + prusage.pr_stime.tv_nsec / 1E+3; + } buf->flags = _glibtop_sysdeps_proc_time; }