[BACK]Return to machine.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / top

Diff for /src/usr.bin/top/machine.c between version 1.64 and 1.65

version 1.64, 2009/04/28 21:24:41 version 1.65, 2010/01/29 00:36:09
Line 118 
Line 118 
   
 /* these are names given to allowed sorting orders -- first is default */  /* these are names given to allowed sorting orders -- first is default */
 char    *ordernames[] = {  char    *ordernames[] = {
         "cpu", "size", "res", "time", "pri", NULL          "cpu", "size", "res", "time", "pri", "pid", "command", NULL
 };  };
   
 /* these are for keeping track of the proc array */  /* these are for keeping track of the proc array */
Line 539 
Line 539 
         if ((result = p2->p_vm_rssize - p1->p_vm_rssize) == 0)          if ((result = p2->p_vm_rssize - p1->p_vm_rssize) == 0)
 #define ORDERKEY_MEM \  #define ORDERKEY_MEM \
         if ((result = PROCSIZE(p2) - PROCSIZE(p1)) == 0)          if ((result = PROCSIZE(p2) - PROCSIZE(p1)) == 0)
   #define ORDERKEY_PID \
           if ((result = p1->p_pid - p2->p_pid) == 0)
   #define ORDERKEY_CMD \
           if ((result = strcmp(p1->p_comm, p2->p_comm)) == 0)
   
 /* compare_cpu - the comparison function for sorting by cpu percentage */  /* compare_cpu - the comparison function for sorting by cpu percentage */
 static int  static int
Line 660 
Line 664 
         return (result);          return (result);
 }  }
   
   static int
   compare_pid(const void *v1, const void *v2)
   {
           struct proc **pp1 = (struct proc **) v1;
           struct proc **pp2 = (struct proc **) v2;
           struct kinfo_proc2 *p1, *p2;
           pctcpu lresult;
           int result;
   
           /* remove one level of indirection */
           p1 = *(struct kinfo_proc2 **) pp1;
           p2 = *(struct kinfo_proc2 **) pp2;
   
           ORDERKEY_PID
           ORDERKEY_PCTCPU
           ORDERKEY_CPUTIME
           ORDERKEY_STATE
           ORDERKEY_PRIO
           ORDERKEY_RSSIZE
           ORDERKEY_MEM
                   ;
           return (result);
   }
   
   static int
   compare_cmd(const void *v1, const void *v2)
   {
           struct proc **pp1 = (struct proc **) v1;
           struct proc **pp2 = (struct proc **) v2;
           struct kinfo_proc2 *p1, *p2;
           pctcpu lresult;
           int result;
   
           /* remove one level of indirection */
           p1 = *(struct kinfo_proc2 **) pp1;
           p2 = *(struct kinfo_proc2 **) pp2;
   
           ORDERKEY_CMD
           ORDERKEY_PCTCPU
           ORDERKEY_CPUTIME
           ORDERKEY_STATE
           ORDERKEY_PRIO
           ORDERKEY_RSSIZE
           ORDERKEY_MEM
                   ;
           return (result);
   }
   
   
 int (*proc_compares[])(const void *, const void *) = {  int (*proc_compares[])(const void *, const void *) = {
         compare_cpu,          compare_cpu,
         compare_size,          compare_size,
         compare_res,          compare_res,
         compare_time,          compare_time,
         compare_prio,          compare_prio,
           compare_pid,
           compare_cmd,
         NULL          NULL
 };  };
   

Legend:
Removed from v.1.64  
changed lines
  Added in v.1.65