author | Mike Sullivan <Mike.Sullivan@Oracle.COM> |
Mon, 27 May 2013 09:27:06 -0700 | |
changeset 1312 | a1701fc2793f |
parent 638 | d348d0ea7b75 |
permissions | -rw-r--r-- |
506
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
1 |
*** top-3.8beta1/machine/m_sunos5.c.orig Wed Aug 31 05:23:52 2011 |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
2 |
--- top-3.8beta1/machine/m_sunos5.c Wed Aug 31 05:25:25 2011 |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
3 |
*************** |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
4 |
*** 2064,2070 **** |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
5 |
|
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
6 |
/* read the whole file */ |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
7 |
p = malloc(st.st_size); |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
8 |
! (void)pread(fd, p, st.st_size, 0); |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
9 |
|
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
10 |
/* cache the file descriptor if we can */ |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
11 |
if (fd < maxfiles) |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
12 |
--- 2064,2076 ---- |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
13 |
|
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
14 |
/* read the whole file */ |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
15 |
p = malloc(st.st_size); |
638
d348d0ea7b75
7101665 top crashes in getptable
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
506
diff
changeset
|
16 |
! if (pread(fd, p, st.st_size, 0) != st.st_size) |
506
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
17 |
! { |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
18 |
! (void) close(fd); |
638
d348d0ea7b75
7101665 top crashes in getptable
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
506
diff
changeset
|
19 |
! op->fd_lpsinfo = -1; |
506
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
20 |
! free(p); |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
21 |
! continue; |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
22 |
! } |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
23 |
|
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
24 |
/* cache the file descriptor if we can */ |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
25 |
if (fd < maxfiles) |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
26 |
*************** |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
27 |
*** 2148,2154 **** |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
28 |
op->oldtime = TIMESPEC_TO_DOUBLE(lwpp->pr_time); |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
29 |
op->seen = 1; |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
30 |
} |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
31 |
! free(p); |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
32 |
} |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
33 |
#endif |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
34 |
|
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
35 |
--- 2154,2160 ---- |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
36 |
op->oldtime = TIMESPEC_TO_DOUBLE(lwpp->pr_time); |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
37 |
op->seen = 1; |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
38 |
} |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
39 |
! free(prp); |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
40 |
} |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
41 |
#endif |
82fe65b0edf8
7045172 serious memory leak in top
Rich Burridge <rich.burridge@oracle.com>
parents:
361
diff
changeset
|
42 |