diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2011-03-28 19:06:06 +0000 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2011-03-28 19:06:06 +0000 |
commit | 219bb9ccff0881a2972c38f012a306c60fcb2123 (patch) | |
tree | 87115608c5ef70a1733f49660d2b15bcd6f5b297 | |
parent | 391eab2866ed739c7011cd4d29c53c0ebd10f7ae (diff) |
handle large values for process time
-rw-r--r-- | Process.c | 10 | ||||
-rw-r--r-- | Process.h | 8 | ||||
-rw-r--r-- | ProcessList.c | 2 | ||||
-rw-r--r-- | htop.c | 3 |
4 files changed, 12 insertions, 11 deletions
@@ -103,10 +103,10 @@ typedef struct Process_ { unsigned long int majflt; unsigned long int cmajflt; #endif - unsigned long int utime; - unsigned long int stime; - long int cutime; - long int cstime; + unsigned long long int utime; + unsigned long long int stime; + unsigned long long int cutime; + unsigned long long int cstime; long int priority; long int nice; long int nlwp; @@ -263,7 +263,7 @@ static void Process_printLargeNumber(Process* this, RichString* str, unsigned lo static double jiffy = 0.0; -static void Process_printTime(RichString* str, unsigned long t) { +static void Process_printTime(RichString* str, unsigned long long t) { if(jiffy == 0.0) jiffy = sysconf(_SC_CLK_TCK); double jiffytime = 1.0 / jiffy; @@ -105,10 +105,10 @@ typedef struct Process_ { unsigned long int majflt; unsigned long int cmajflt; #endif - unsigned long int utime; - unsigned long int stime; - long int cutime; - long int cstime; + unsigned long long int utime; + unsigned long long int stime; + unsigned long long int cutime; + unsigned long long int cstime; long int priority; long int nice; long int nlwp; diff --git a/ProcessList.c b/ProcessList.c index 0098391c..278cfea3 100644 --- a/ProcessList.c +++ b/ProcessList.c @@ -344,7 +344,7 @@ static bool ProcessList_readStatFile(Process *process, const char* dirname, cons "%c %d %u %u %u " "%d %lu " "%*u %*u %*u %*u " - "%lu %lu %ld %ld " + "%llu %llu %llu %llu " "%ld %ld %ld " "%*d %*u %*u %*d %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u " "%d %d", @@ -427,8 +427,9 @@ int main(int argc, char** argv) { refreshTimeout--; if (prev == ch && !recalculate) { closeTimeout++; - if (closeTimeout == 10) + if (closeTimeout == 100) { break; + } } else closeTimeout = 0; continue; |