blob: 0c15c0171f038ded9e11be2d6d8325b4ed14a390 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
From: Dominique Brazziel <dbrazziel@snet.net>
Subject: Fix for sa reporting 'inf' or 'nan' instead of correct values
because of division by clock values.
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=581421
Last-Updated: 2010-07-23
--- acct-6.5.4.orig/sa.c 2010-02-11 20:55:14.000000000 -0500
+++ acct-6.5.4/sa.c 2010-07-22 14:08:26.000000000 -0400
@@ -417,7 +417,6 @@
(void)printf("%s: GNU Accounting Utilities (release %s)\n",
program_name, VERSION_STRING);
exit(EXIT_SUCCESS);
- case 4:
acct_file_name = optarg;
break;
case 'j':
@@ -594,8 +593,11 @@
exit(EXIT_FAILURE);
}
+ /* Set HZ value from system */
+ hzval = sysconf(_SC_CLK_TCK);
+
/* Print out some debugging information. */
-
+
if (debugging_enabled)
{
(void)fprintf (stddebug, "hzval -> %d\n", hzval);
@@ -1162,31 +1164,30 @@
# define CURR_AHZ ((double)(ahz))
#endif
-
if (debugging_enabled)
fprintf (stddebug, "\
----------------------------------------------------------------------\n\
acct entries\n\
----------------------------------------------------------------------\n\
");
-
+
/* loop while there are entries to be had */
while ((rec = pacct_get_entry ()) != NULL)
{
#ifdef HAVE_ACUTIME
- double ut = comp_t_2_double (rec->ac_utime) / (double) hzval;
+ double ut = comp_t_2_double (rec->ac_utime) / CURR_AHZ;
#endif
#ifdef HAVE_ACSTIME
- double st = comp_t_2_double (rec->ac_stime) / (double) hzval;
+ double st = comp_t_2_double (rec->ac_stime) / CURR_AHZ;
#endif
#ifdef HAVE_ACETIME
- double et = comp_t_2_double (rec->ac_etime) / (double) hzval;
+ double et = ACETIME_2_DOUBLE (rec->ac_etime) / CURR_AHZ;
#endif
#ifdef HAVE_ACIO
- double di = comp_t_2_double (rec->ac_io) / (double) hzval;
+ double di = comp_t_2_double (rec->ac_io) / CURR_AHZ;
#endif
#ifdef HAVE_ACMEM
|