Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:lafenghu
acct
acct-hz.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File acct-hz.patch of Package acct
Subject: acct-hz.patch --- lastcomm.c | 14 +++++++++++++- sa.c | 14 +++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/lastcomm.c b/lastcomm.c index 276f9fa..993118d 100644 --- a/lastcomm.c +++ b/lastcomm.c @@ -49,6 +49,10 @@ MA 02139, USA. */ #include <pwd.h> +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif + #include "common.h" #include "files.h" #include "uid_hash.h" @@ -71,7 +75,7 @@ int debugging_enabled = 0; /* Nonzero means print internal int strict_match_flag = 0; /* Nonzero if each record has to match all items on the command line */ int print_controls = 0; /* don't print control characters */ -int ahz = AHZ; /* for viewing logs from another system */ +int ahz = 0; /* for viewing logs from another system */ char *program_name; /* name of the program, for usage & errs */ @@ -328,6 +332,14 @@ void parse_entries(void) print_pacct_record (rec, stddebug); } + if (!ahz) // if this is the first cycle run, ahz is not set yet + { + if (rec->ac_version == 3) + ahz = 100; // value AHZ = 100 is hardcoded in acct.h, but in #ifdef __KERNEL__ block. too bad + else + ahz = sysconf(_SC_CLK_TCK); + } + if (desired_entry (this_uid, this_dev, rec->ac_comm)) { double ut = ACUTIME_2_DOUBLE (rec->ac_utime); diff --git a/sa.c b/sa.c index 55b1a23..8891a50 100644 --- a/sa.c +++ b/sa.c @@ -189,7 +189,7 @@ int dont_read_summary_files = 0; int print_users = 0; int percentages = 0; /* include percentages in printout */ int user_summary_flag = 0; /* are we printing a user summary? */ -int ahz = AHZ; /* for viewing logs from another system */ +int ahz = 0; /* for viewing logs from another system */ #if defined(HAVE_ACUTIME) && defined(HAVE_ACSTIME) @@ -1173,6 +1173,18 @@ void parse_acct_entries (void) /* loop while there are entries to be had */ while ((rec = pacct_get_entry ()) != NULL) { + if (!ahz) // if this is the first cycle run, ahz is not set yet + { + if (rec->ac_version == 3) + ahz = 100; // value AHZ = 100 is hardcoded in acct.h, but in #ifdef __KERNEL__ block. too bad + else + ahz = sysconf(_SC_CLK_TCK); + + if (debugging_enabled) + { + fprintf (stddebug, "AHZ -> %d\n", ahz); + } + } #ifdef HAVE_ACUTIME double ut = comp_t_2_double (rec->ac_utime) / (double) hzval; #endif -- 1.7.7
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor