/[monit]/monit/process/sysdep_FREEBSD.c
ViewVC logotype

Diff of /monit/process/sysdep_FREEBSD.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by rory, Tue Aug 12 00:16:54 2003 UTC revision 1.5 by rory, Wed Aug 13 00:45:15 2003 UTC
# Line 100  static void calcru(struct proc *p, struc Line 100  static void calcru(struct proc *p, struc
100  {  {
101    quad_t totusec;    quad_t totusec;
102    u_quad_t u, st, ut, it, tot;    u_quad_t u, st, ut, it, tot;
103  #if (__FreeBSD_version < 300003) || (__FreeBSD_version > 500000)  #if (__FreeBSD_version < 300003) || (__FreeBSD_version >= 500000)
104    long sec, usec;    long sec, usec;
105  #endif  #endif
106        
# Line 114  static void calcru(struct proc *p, struc Line 114  static void calcru(struct proc *p, struc
114        st = 1;        st = 1;
115        tot = 1;        tot = 1;
116      }      }
117      
118    #if (__FreeBSD_version >= 500000)
119      sec = p->p_runtime.sec;
120      usec = p->p_runtime.frac;
121    
122      totusec = (quad_t)sec * 1000000 + usec;
123    #endif
124    
125  #if (__FreeBSD_version >= 300003) && (__FreeBSD_version < 500000)  #if (__FreeBSD_version >= 300003) && (__FreeBSD_version < 500000)
126    totusec = (u_quad_t) p->p_runtime;    totusec = (u_quad_t) p->p_runtime;
127  #else  #endif
128    
129    #if (__FreeBSD_version < 300003)
130    sec = p->p_rtime.tv_usec;    sec = p->p_rtime.tv_usec;
131    usec = p->p_rtime.tv_usec;    usec = p->p_rtime.tv_usec;
132        
# Line 250  int get_process_info_sysdep(ProcInfo_T p Line 259  int get_process_info_sysdep(ProcInfo_T p
259    /* ----------------------------- CPU TIMING ----------------------------*/    /* ----------------------------- CPU TIMING ----------------------------*/
260    /* Got it from libgtop/sysdep/freebsd/proctime.c */    /* Got it from libgtop/sysdep/freebsd/proctime.c */
261        
262    
263    if (kvm_read (kvm_handle,    if (kvm_read (kvm_handle,
264    #if (__FreeBSD_version > 500000)
265                    (unsigned long) &pinfo->ki_addr->u_stats,
266    #else
267                  (unsigned long) pinfo [0].kp_proc.p_stats,                  (unsigned long) pinfo [0].kp_proc.p_stats,
268    #endif
269                  &pstats, sizeof (pstats)) == sizeof (pstats)) {                  &pstats, sizeof (pstats)) == sizeof (pstats)) {
270            
271      /* Need to fix for different versions of BSD - I think older ones      /* Need to fix for different versions of BSD - I think older ones
# Line 263  int get_process_info_sysdep(ProcInfo_T p Line 277  int get_process_info_sysdep(ProcInfo_T p
277                   (char *) &pstats, sizeof (pstats)) == sizeof (pstats)) {                   (char *) &pstats, sizeof (pstats)) == sizeof (pstats)) {
278    */    */
279      rup = &pstats.p_ru;      rup = &pstats.p_ru;
280    #if (__FreeBSD_version > 500000)
281        calcru(&pinfo->ki_addr,
282    #else
283      calcru(&(pinfo [0]).kp_proc,      calcru(&(pinfo [0]).kp_proc,
284    #endif
285             &rup->ru_utime, &rup->ru_stime, NULL);             &rup->ru_utime, &rup->ru_stime, NULL);
286    
287      stat_utime = tv2sec (pstats.p_ru.ru_utime);      stat_utime = tv2sec (pstats.p_ru.ru_utime);
# Line 299  int get_process_info_sysdep(ProcInfo_T p Line 317  int get_process_info_sysdep(ProcInfo_T p
317    /* Got it from libgtop/sysdep/freebsd/procmem.c */    /* Got it from libgtop/sysdep/freebsd/procmem.c */
318    
319    if (kvm_read (kvm_handle,    if (kvm_read (kvm_handle,
320    #if (__FreeBSD_version > 500000)
321                    (unsigned long) &pinfo->ki_addr->p_limit,
322    #else
323                  (unsigned long) pinfo [0].kp_proc.p_limit,                  (unsigned long) pinfo [0].kp_proc.p_limit,
324    #endif
325                  (char *) &plimit, sizeof (plimit)) != sizeof (plimit)) {                  (char *) &plimit, sizeof (plimit)) != sizeof (plimit)) {
326    
327      return FALSE;      return FALSE;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26