FreeBSD Bugzilla – Attachment 122744 Details for
Bug 166007
[UPDATE] sysutils/asmon update to 0.61
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
asmon.patch.txt
asmon.patch.txt (text/plain), 16.76 KB, created by
Muhammad Moinur Rahman
on 2012-03-13 13:20:03 UTC
(
hide
)
Description:
asmon.patch.txt
Filename:
MIME Type:
Creator:
Muhammad Moinur Rahman
Created:
2012-03-13 13:20:03 UTC
Size:
16.76 KB
patch
obsolete
>diff -ruN asmon.bak/Makefile asmon/Makefile >--- asmon.bak/Makefile 2012-03-13 17:33:18.792248415 +0600 >+++ asmon/Makefile 2012-03-13 19:02:00.481234585 +0600 >@@ -6,13 +6,13 @@ > # > > PORTNAME= asmon >-PORTVERSION= 0.60 >+PORTVERSION= 0.61 > PORTREVISION= 2 > CATEGORIES= sysutils afterstep > MASTER_SITES= ${MASTER_SITE_AFTERSTEP} > MASTER_SITE_SUBDIR= apps/asmon > >-MAINTAINER= ports@FreeBSD.org >+MAINTAINER= 5u623l20@gmail.com > COMMENT= A swallowable applet monitors the CPU usage, memory and swap, etc > > USE_XORG= xpm x11 >@@ -28,7 +28,6 @@ > > post-patch: > ${REINPLACE_CMD} -e 's:gcc:${CC} ${CFLAGS}:' ${BUILD_WRKSRC}/Makefile >- ${RM} ${WRKSRC}/wmgeneral/*.o $(BUILD_WRKSRC}/asmon > > do-install: > ${INSTALL} ${COPY} ${STRIP} -o ${BINOWN} -g kmem -m 2755 ${WRKSRC}/asmon/asmon ${PREFIX}/bin >diff -ruN asmon.bak/distinfo asmon/distinfo >--- asmon.bak/distinfo 2012-03-13 17:33:18.790243691 +0600 >+++ asmon/distinfo 2012-03-13 17:33:56.791234879 +0600 >@@ -1,2 +1,2 @@ >-SHA256 (asmon-0.60.tar.gz) = 06db3dafefecd5d281322d26b84a83118bcee2f96a7d90078351956ba72fa600 >-SIZE (asmon-0.60.tar.gz) = 41510 >+SHA256 (asmon-0.61.tar.gz) = 27464768e267ea7985322ce03781edfdcd0a2c609667f06670338a2c8dfe4f94 >+SIZE (asmon-0.61.tar.gz) = 29602 >diff -ruN asmon.bak/files/patch-aa asmon/files/patch-aa >--- asmon.bak/files/patch-aa 2012-03-13 17:33:18.787251691 +0600 >+++ asmon/files/patch-aa 1970-01-01 06:00:00.000000000 +0600 >@@ -1,552 +0,0 @@ >---- asmon/asmon.c Sun Jun 27 20:38:26 1999 >-+++ asmon/asmon.c.new Sat Oct 26 06:26:34 2002 >-@@ -21,6 +21,24 @@ >- #include "asmon-master.xpm" >- #include "asmon-mask.xbm" >- >-+#ifdef __FreeBSD__ >-+#include <err.h> >-+#include <kvm.h> >-+#include <nlist.h> >-+#include <sys/conf.h> >-+#include <sys/proc.h> >-+#include <sys/user.h> >-+#include <sys/vmmeter.h> >-+#include <sys/sysctl.h> >-+#include <vm/vm.h> >-+#include <vm/vm_map.h> >-+#include <vm/vm_param.h> >-+#include <sys/time.h> >-+#if __FreeBSD_version < 400000 >-+#include <sys/rlist.h> >-+#endif >-+#endif >-+ >- #ifdef __solaris__ >- #include <utmp.h> >- #endif >-@@ -47,6 +65,56 @@ >- #define B_RED (1) >- #define B_GREEN (2) >- >-+#ifdef __FreeBSD__ >-+kvm_t *kd; >-+ >-+#define SVAR(var) __STRING(var) /* to force expansion */ >-+#define KGET(idx, var) \ >-+ KGET1(idx, &var, sizeof(var), SVAR(var)) >-+#define KGET1(idx, p, s, msg) \ >-+ KGET2(nl[idx].n_value, p, s, msg) >-+#define KGET2(addr, p, s, msg) \ >-+ if (kvm_read(kd, (u_long)(addr), p, s) != s) \ >-+ warnx("cannot read %s: %s", msg, kvm_geterr(kd)) >-+ >-+struct nlist nl[] = { >-+#if __FreeBSD_version < 400000 >-+#define VM_SWAPLIST 0 >-+ { "_swaplist" },/* list of free swap areas */ >-+#define VM_SWDEVT 1 >-+ { "_swdevt" }, /* list of swap devices and sizes */ >-+#define VM_NSWAP 2 >-+ { "_nswap" }, /* size of largest swap device */ >-+#define VM_NSWDEV 3 >-+ { "_nswdev" }, /* number of swap devices */ >-+#define VM_DMMAX 4 >-+ { "_dmmax" }, /* maximum size of a swap block */ >-+#define X_CNT 5 >-+ { "_cnt" }, >-+#define X_BUFSPACE 6 >-+ { "_bufspace" }, /* K in buffer cache */ >-+#define X_CP_TIME 7 >-+ { "_cp_time" }, >-+ { "" } >-+}; >-+#else >-+#define X_CCPU 0 >-+ { "_ccpu" }, >-+#define X_CP_TIME 1 >-+ { "_cp_time" }, >-+#define X_AVENRUN 2 >-+ { "_averunnable" }, >-+#define X_BUFSPACE 3 >-+ { "_bufspace" }, /* K in buffer cache */ >-+#define X_CNT 4 >-+ { "_cnt" }, /* struct vmmeter cnt */ >-+#define X_LASTPID 5 >-+ { "_nextpid" }, /* Last pid */ >-+ { 0 } >-+}; >-+#endif >-+#endif >-+ >- /* Evil globals I haven't removed yet */ >- long last_pageins=0, last_pageouts=0; >- long last_swapins=0, last_swapouts=0; >-@@ -77,6 +145,11 @@ >- float DrawMemSwap(float total, int allmem); >- #endif >- >-+#ifdef __FreeBSD__ >-+void open_kvm(void); >-+void close_kvm(void); >-+#endif >-+ >- int main(int argc, char *argv[]) >- { >- FILE *fp; >-@@ -151,7 +224,17 @@ >- #endif >- /* Open 64x64 window */ >- openXwindow(argc, argv, asmon_master_xpm, asmon_mask_bits, asmon_mask_width, asmon_mask_height); >-+ >-+#ifdef __FreeBSD__ >-+ open_kvm(); >-+#endif >-+ >- asmon_routine(Xpid, allmem); >-+ >-+#ifdef __FreeBSD__ >-+ close_kvm(); >-+#endif >-+ >- return(0); >- } >- >-@@ -160,7 +243,11 @@ >- void usage(void) { >- fprintf(stderr, "\nasmon %s - by Brad Hall (brad@rio.dhs.org)\n\t\toriginally based on Timecop's wmcpu\n\n", ASMON_VERSION); >- fprintf(stderr, "The top bar: left is the CPU usage, right is the load average\n"); >-+#ifdef __FreeBSD__ >-+ fprintf(stderr, "The middle bar: left memory usage devided by ticks into active, inactive,\n\t\twired, cached + buffers, respectively, and the number\n\t\tof megs used\n"); >-+#else >- fprintf(stderr, "The middle bar: left memory usage devided by ticks into shared, buffers, and\n\t\t cached, respectively, and the number of megs used\n"); >-+#endif >- fprintf(stderr, "The lower bar: the left swap usage and the number of megs swappedd avg\n"); >- fprintf(stderr, "The bottom: the left is a set of LED's marking page's and swap's, the right is\n\t\t a bar representing the amount of memory that the X server \n\t\t is taking up, and the exact megs\n\n usage:\n"); >- fprintf(stderr, "\t-display <display name>\n"); >-@@ -168,8 +255,13 @@ >- fprintf(stderr, "\t-v\tprint the version number\n"); >- #ifndef __solaris__ >- fprintf(stderr, "\t-u\tforce asmon to show uptime, rather than X mem use\n"); >-+#else >-+#ifdef __FreeBSD__ >-+ fprintf(stderr, "\t-m\tmake asmon show only active mem\n"); >-+#else >- fprintf(stderr, "\t-m\tmake asmon show only shared mem, like most other mem meters\n"); >- #endif >-+#endif >- #ifdef EXEC_ON_CLICK >- fprintf(stderr, "\t-e cmd\texecute 'cmd' on mouse click\n"); >- #endif >-@@ -229,6 +321,10 @@ >- #if 0 >- fprintf(stderr,"system(%s)\n",Command); >- #endif >-+ if (setgid(getgid()) != 0) >-+ err(1, "Can't drop setgid privileges."); >-+ if (setuid(getuid()) != 0) >-+ err(1, "Can't drop setuid privileges."); >- if (Command[ 0 ]) system(Command); >- break; >- #endif >-@@ -323,12 +419,13 @@ >- /* CPU Usage Meter */ >- void DrawCPU(void) >- { >-- FILE *fp; >- static float cpustat[4]; /* remember the statistics read last time */ >- float fields[4], info[4], cputotal=0.0; >- long pageins=0, pageouts=0, swapins=0, swapouts=0; >-- char buf[128]; >- int i; >-+#ifndef __FreeBSD__ >-+ char buf[128]; >-+ FILE *fp; >- >- if( (fp = fopen("/proc/stat", "r")) != NULL) >- { >-@@ -345,7 +442,15 @@ >- sscanf(buf, "swap %ld %ld", &swapins, &swapouts); >- } >- fclose(fp); >-- >-+#else >-+ { >-+ long cputime[4]; >-+ struct vmmeter sum; >-+ >-+ kvm_read(kd, nl[X_CP_TIME].n_value, &cputime, sizeof(cputime)); >-+ for(i = 0; i < 4; i++) >-+ info[i] = (float)cputime[i]; >-+#endif >- // Calculate CPU stuff >- for(i = 0; i < 4; i++) >- { >-@@ -365,6 +470,13 @@ >- } >- >- // Page In/Out >-+#ifdef __FreeBSD__ >-+ KGET(X_CNT, sum); >-+ pageins = sum.v_vnodepgsin; >-+ pageouts = sum.v_vnodepgsout; >-+ swapins = sum.v_swappgsin; >-+ swapouts = sum.v_swappgsout; >-+#endif >- if (pageins > last_pageins) >- { >- DrawLite(B_RED, 5, 48); >-@@ -414,12 +526,19 @@ >- #ifdef __solaris__ >- if (getLoad(&ftmp) != -1) >- { >--#else >-+#else >-+#ifndef __FreeBSD__ >- FILE *fp; >- if( (fp = fopen("/proc/loadavg", "r")) != NULL) >- { >- fscanf(fp, "%f", &ftmp); >- fclose(fp); >-+#else >-+ { >-+ double avg[1]; >-+ getloadavg(avg, 1); >-+ ftmp = (float)avg[0]; >-+#endif >- #endif >- if(oldv != ftmp) >- { >-@@ -540,6 +659,7 @@ >- /* Mem/Swap Meter */ >- float DrawMemSwap(float total, int allmem) >- { >-+#ifndef __FreeBSD__ >- FILE *fp; >- if( (fp = fopen("/proc/meminfo", "r")) != NULL) >- { >-@@ -553,6 +673,149 @@ >- fgets(junk, 80, fp); >- fscanf(fp, "Mem: %f %f %f %f %f %f\nSwap: %f %f %f", &total, &used, &freeM, &shared, &buffers, &cached, &swaptotal, &swapused, &swapfreeM); >- fclose(fp); >-+#else >-+ { >-+ static float stotal=0.0, sshared=0.0, sbuffers=0.0, scached=0.0; >-+#if __FreeBSD_version >= 400000 >-+ float used, active, inactive, wired, buffers, cached, shared = 0; >-+ static float swaptotal=0, swapused=0; >-+ static u_int swappgsin= - 1, swappgsout = -1; >-+ int n, bufspace = 0; >-+ int pagesize = getpagesize(); >-+ struct kvm_swap swapary[1]; >-+#else >-+ float used, active, inactive, wired, buffers, cached, swaptotal, >-+ swapused, shared; >-+ int nswap, nswdev, dmmax; >-+ int i, avail, nfree, kmemused, bufspace = 0; >-+ struct swdevt *sw; >-+ long *perdev; >-+ struct rlist head; >-+ struct rlisthdr swaplist; >-+ struct rlist *swapptr; >-+ u_long ptr; >-+#endif >-+ struct vmmeter sum; >-+ int tempy, tempa; >-+ unsigned long MEMactive,MEMinactive,MEMwired,MEMbuff,MEMcach, MEMswap; >-+ >-+#if __FreeBSD_version >= 400000 >-+#define CONVERT(v) ((quad_t)(v) * pagesize / 1024) >-+ KGET(X_CNT, sum); >-+ KGET(X_BUFSPACE, bufspace); >-+ if(swappgsin < 0 || swappgsin != sum.v_swappgsin || >-+ swappgsout != sum.v_swappgsout){ >-+ n = kvm_getswapinfo(kd, swapary, 1, 0); >-+ if (n < 0 || swapary[0].ksw_total == 0){ >-+ swaptotal = 0; >-+ swapused = 0; >-+ } else { >-+ swaptotal = CONVERT(swapary[0].ksw_total); >-+ swapused = CONVERT(swapary[0].ksw_used); >-+ swaptotal *= 1024; >-+ swapused *= 1024; >-+ } >-+ swappgsin = sum.v_swappgsin; >-+ swappgsout = sum.v_swappgsout; >-+ } >-+ total = sum.v_page_size * sum.v_page_count; >-+ cached = sum.v_page_size * sum.v_cache_count; >-+ used = sum.v_page_size * (sum.v_page_count - sum.v_free_count); >-+ buffers = bufspace; >-+ active = sum.v_page_size * sum.v_active_count; >-+ inactive = sum.v_page_size * sum.v_inactive_count; >-+ wired = sum.v_page_size * sum.v_wire_count; >-+#else >-+ KGET(VM_NSWAP, nswap); >-+ KGET(VM_NSWDEV, nswdev); >-+ KGET(VM_DMMAX, dmmax); >-+ KGET1(VM_SWAPLIST, &swaplist, sizeof swaplist, "swaplist"); >-+ if ((sw = (struct swdevt*)malloc(nswdev * sizeof(*sw))) == NULL || >-+ (perdev = (long *)malloc(nswdev * sizeof(*perdev))) == NULL) >-+ errx(1, "malloc"); >-+ KGET1(VM_SWDEVT, &ptr, sizeof ptr, "swdevt"); >-+ KGET2(ptr, sw, nswdev * sizeof(*sw), "*swdevt"); >-+ >-+ /* Count up swap space. */ >-+ nfree = 0; >-+ memset(perdev, 0, nswdev * sizeof(*perdev)); >-+ swapptr = swaplist.rlh_list; >-+ while (swapptr) { >-+ int top, bottom, next_block; >-+ >-+ KGET2(swapptr, &head, sizeof(struct rlist), "swapptr"); >-+ >-+ top = head.rl_end; >-+ bottom = head.rl_start; >-+ >-+ nfree += top - bottom + 1; >-+ >-+ /* >-+ * Swap space is split up among the configured disks. >-+ * >-+ * For interleaved swap devices, the first dmmax blocks >-+ * of swap space some from the first disk, the next dmmax >-+ * blocks from the next, and so on up to nswap blocks. >-+ * >-+ * The list of free space joins adjacent free blocks, >-+ * ignoring device boundries. If we want to keep track >-+ * of this information per device, we'll just have to >-+ * extract it ourselves. >-+ */ >-+ while (top / dmmax != bottom / dmmax) { >-+ next_block = ((bottom + dmmax) / dmmax); >-+ perdev[(bottom / dmmax) % nswdev] += >-+ next_block * dmmax - bottom; >-+ bottom = next_block * dmmax; >-+ } >-+ perdev[(bottom / dmmax) % nswdev] += >-+ top - bottom + 1; >-+ >-+ swapptr = head.rl_next; >-+ } >-+ >-+ avail = 0; >-+ for (i = 0; i < nswdev; i++) { >-+ int xsize, xfree; >-+ >-+ /* >-+ * Don't report statistics for partitions which have not >-+ * yet been activated via swapon(8). >-+ */ >-+ if (!(sw[i].sw_flags & SW_FREED)) >-+ continue; >-+ >-+ /* The first dmmax is never allocated to avoid trashing of >-+ * disklabels >-+ */ >-+ xsize = sw[i].sw_nblks - dmmax; >-+ xfree = perdev[i]; >-+ kmemused = xsize - xfree; >-+ avail += xsize; >-+ } >-+ >-+ /* >-+ * If only one partition has been set up via swapon(8), we don't >-+ * need to bother with totals. >-+ */ >-+ kmemused = avail - nfree; >-+ KGET(X_CNT, sum); >-+ KGET(X_BUFSPACE, bufspace); >-+ free(sw); >-+ free(perdev); >-+ >-+ swaptotal = avail * 512; >-+ swapused = kmemused * 512; >-+#endif >-+ >-+ total = sum.v_page_size * sum.v_page_count; >-+ cached = sum.v_page_size * sum.v_cache_count; >-+ used = sum.v_page_size * (sum.v_page_count - sum.v_free_count); >-+ buffers = bufspace; >-+ active = sum.v_page_size * sum.v_active_count; >-+ inactive = sum.v_page_size * sum.v_inactive_count; >-+ wired = sum.v_page_size * sum.v_wire_count; >-+#endif >- >- if ( allmem == 1) { >- /* All mem areas */ >-@@ -561,11 +824,23 @@ >- stotal = total; sshared = shared; sbuffers = buffers; scached = cached; >- if ( (total/101048576) >= 1) >- { >-+#ifdef __FreeBSD__ >-+ MEMactive=(active/total)*27; >-+ MEMinactive=(inactive/total)*27; >-+ MEMwired=(wired/total)*27; >-+#else >- MEMshar=(shared/total)*27; >-+#endif >- MEMbuff=(buffers/total)*27; >- MEMcach=(cached/total)*27; >- } else { >-+#ifdef __FreeBSD__ >-+ MEMactive=(active/total)*33; >-+ MEMinactive=(inactive/total)*33; >-+ MEMwired=(wired/total)*33; >-+#else >- MEMshar=(shared/total)*33; >-+#endif >- MEMbuff=(buffers/total)*33; >- MEMcach=(cached/total)*33; >- } >-@@ -579,9 +854,15 @@ >- copyXPMArea(3,75,((used/total)*34),9,5,19); >- } >- // Separators >-+#ifdef __FreeBSD__ >-+ copyXPMArea(15,105,1,9,5+MEMactive,19); >-+ copyXPMArea(15,105,1,9,6+MEMactive+MEMinactive,19); >-+ copyXPMArea(15,105,1,9,7+MEMactive+MEMinactive+MEMwired,19); >-+#else >- copyXPMArea(15,105,1,9,5+MEMshar,19); >- copyXPMArea(15,105,1,9,7+MEMshar+MEMbuff,19); >- copyXPMArea(15,105,(36-(used/total)*34),9,(5+(used/total)*34),19); >-+#endif >- // Numbers >- tempa=used/1048576; >- tempy=tempa%10; >-@@ -601,6 +882,16 @@ >- if(stotal != total || sshared != shared) >- { >- stotal = total; sshared = shared; sbuffers = buffers; scached = cached; >-+#ifdef __FreeBSD__ >-+ if ( (total/101048576) >= 1) { >-+ MEMactive=(active/total)*27; >-+ } else { >-+ MEMactive=(active/total)*35; >-+ } >-+ // Bar >-+ copyXPMArea(3,75,MEMactive,9,5,19); >-+ copyXPMArea(3,102,(36-(active/total)*36),9,(5+(active/total)*36),19) ; >-+#else >- if ( (total/101048576) >= 1) { >- MEMshar=(shared/total)*27; >- } else { >-@@ -609,8 +900,13 @@ >- // Bar >- copyXPMArea(3,75,MEMshar,9,5,19); >- copyXPMArea(15,105,(36-(shared/total)*36),9,(5+(shared/total)*36),19); >-+#endif >- // Numbers >-+#ifdef __FreeBSD__ >-+ tempa=active/1048576; >-+#else >- tempa=shared/1048576; >-+#endif >- tempy=tempa%10; >- copyXPMArea(3+(tempy*6),66,6,9,50,19); >- tempy=(tempa/10)%10; >-@@ -662,10 +957,11 @@ >- /* X Mem Usage */ >- void DrawXmem(int Xpid, float total) >- { >-- FILE *fp; >-- char buf[128], XFileName[256]; >- float ratio; >- long old_Xsize=-1, Xsize=0; >-+#ifndef __FreeBSD__ >-+ FILE *fp; >-+ char buf[128], XFileName[256]; >- >- sprintf(XFileName, "/proc/%d/status", Xpid); >- >-@@ -676,6 +974,18 @@ >- if (strstr(buf, "VmSize")) >- sscanf(buf, "VmSize: %ld", &Xsize); >- } >-+#else >-+ { >-+ struct kinfo_proc *kproc; >-+ int kcnt; >-+ >-+ kproc = kvm_getprocs(kd, KERN_PROC_PID, Xpid, &kcnt); >-+#if __FreeBSD_version < 500000 >-+ Xsize = kproc->kp_eproc.e_vm.vm_map.size / 1024; >-+#else >-+ Xsize = kproc->ki_size / 1024; >-+#endif >-+#endif >- if(old_Xsize!=Xsize) >- { >- int tempy, tempa; >-@@ -692,7 +1002,9 @@ >- copyXPMArea(3,84,((ratio)*22),11,18,47); >- copyXPMArea(15,105,(23-((ratio)*22)),11,(18+(ratio*22)),47); >- } >-+#ifndef __FreeBSD__ >- fclose(fp); >-+#endif >- } >- } >- >-@@ -713,10 +1025,28 @@ >- pUtmp = getutid(&idUtmp); >- upt = (time(0) - pUtmp->ut_time); >- #else >-+#ifndef __FreeBSD__ >- FILE *fp; >- if( (fp = fopen("/proc/uptime", "r")) != NULL) >- fscanf(fp, "%d",&upt); >- fclose(fp); >-+#else >-+ int mib[2]; >-+ struct timeval boottime; >-+ size_t bt_size; >-+ >-+ bt_size = sizeof(boottime); >-+ mib[0] = CTL_KERN; >-+ mib[1] = KERN_BOOTTIME; >-+ >-+ if (sysctl(mib, 2, &boottime, &bt_size, NULL, 0) != -1 && >-+ boottime.tv_sec != 0) { >-+ upt = time(NULL) - boottime.tv_sec; >-+ upt += 30; /* top(1) does this ???? */ >-+ } else { >-+ upt = 0; >-+ } >-+#endif >- #endif >- mins=(upt/60)%60; >- hours=(upt/3600)%24; >-@@ -777,6 +1107,31 @@ >- break; >- } >- >-+} >-+ >-+void >-+open_kvm() >-+{ >-+ if (kd == 0) { >-+ kd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, 0); >-+ if (kd != NULL) { >-+ if (kvm_nlist(kd, nl) < 0) { >-+ errx(1, "kvm_nlist: %s", kvm_geterr(kd)); >-+ } >-+ if (nl[0].n_type == 0) { >-+ errx(1, "no namelist"); >-+ } >-+ } else { >-+ warnx("kvm not available"); >-+ } >-+ } >-+} >-+ >-+void >-+close_kvm() >-+{ >-+ kvm_close(kd); >-+ kd = NULL; >- } >- >- /* EOF */ >diff -ruN asmon.bak/files/patch-asmon-asmon.c asmon/files/patch-asmon-asmon.c >--- asmon.bak/files/patch-asmon-asmon.c 1970-01-01 06:00:00.000000000 +0600 >+++ asmon/files/patch-asmon-asmon.c 2012-03-13 19:04:56.919254501 +0600 >@@ -0,0 +1,15 @@ >+--- asmon/asmon.c.bak 2012-03-13 19:03:06.795252708 +0600 >++++ asmon/asmon.c 2012-03-13 19:04:16.395242371 +0600 >+@@ -990,7 +990,11 @@ >+ >+ kproc = kvm_getprocs(kd, KERN_PROC_PID, Xpid, &kcnt); >+ >+- Xsize = kproc->kp_eproc.e_vm.vm_map.size / 1024; >++ #if __FreeBSD_version < 500000 >++ Xsize = kproc->kp_eproc.e_vm.vm_map.size / 1024; >++ #else >++ Xsize = kproc->ki_size / 1024; >++ #endif >+ #endif >+ if(old_Xsize!=Xsize) >+ {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 166007
: 122744