Path: utzoo!utgpu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!emory!kd4nc!n4hgf!wht From: wht@n4hgf.Mt-Park.GA.US (Warren Tucker) Newsgroups: alt.sources Subject: X386MON x1.00 patch 1 (part 01/01) Keywords: ps user swapped Message-ID: <329@n4hgf.Mt-Park.GA.US> Date: 21 Feb 91 05:29:55 GMT Organization: Amateur Radio Station N4HGF Lines: 185 Submitted-by: wht@n4hgf.Mt-Park.GA.US Archive-name: x386monx100/patch01 #------------------------------------------------------------- # X386MON x1.00 PATCH 1 - makes x1.10 # # This patch fixes the ps display where if all processes # would fit the panel, then they all showed up as swapped # # patch < this.article #------------------------------------------------------------- *** x1.00/ps.c Wed Feb 20 23:49:29 1991 --- ps.c Thu Feb 21 00:21:28 1991 *************** *** 3,8 wht@n4hgf.Mt-Park.GA.US Defined functions: display_proc_stat(x,y,iproc,initial) draw_Ps(x,y,ps_procs_to_disp,initial) draw_Ps_work_proc(client_data) --- 3,9 ----- wht@n4hgf.Mt-Park.GA.US Defined functions: + copy_user_to_proc(tproc,user) display_proc_stat(x,y,iproc,initial) draw_Ps(x,y,ps_procs_to_disp,initial) draw_Ps_work_proc(client_data) *************** *** 39,44 and cron shown as the same size....). --------------------------------------------------------------------------*/ /*+:EDITS:*/ /*:01-12-1991-04:35-wht@n4hgf-x1.00 (flush old edit notes) */ #include --- 40,46 ----- and cron shown as the same size....). --------------------------------------------------------------------------*/ /*+:EDITS:*/ + /*:02-20-1991-23:59-wht@n4hgf-get_user optimization caused not to get always */ /*:01-12-1991-04:35-wht@n4hgf-x1.00 (flush old edit notes) */ #include *************** *** 155,160 } /* end of ppproc_pid_compare */ /*+------------------------------------------------------------------------- read_and_sort_procs(initial) --------------------------------------------------------------------------*/ void --- 157,189 ----- } /* end of ppproc_pid_compare */ /*+------------------------------------------------------------------------- + copy_user_to_proc(tproc,user) + --------------------------------------------------------------------------*/ + void + copy_user_to_proc(tproc,user) + register struct proc *tproc; + register struct user *user; + { + /* save stuff out of user in unimportant proc areas */ + tproc->p_U_UTIME = user->u_utime; + tproc->p_U_STIME = user->u_stime; + strncpy((char *)tproc->p_U_PSARGS,user->u_psargs,U_PSARGS_MAX); + *((char *)tproc->p_U_PSARGS + U_PSARGS_MAX - 1) = 0; + #if defined(M_UNIX) /* SCO */ + #if defined(SCO_USIZE_BROKEN) /* SCO UNIX 3.2.0 */ + tproc->p_size = + (((u_long)user->u_tsize + 511) / 1024) + + (((u_long)user->u_dsize + 511) / 1024) + + (((u_long)user->u_ssize + 511) / 1024) + + (((u_long)((user->u_tsize)?1:0) * NBPP) / 1024); + #else /* SCO UNIX 3.2.1 and presumably later */ + tproc->p_size = + (ctob((u_long)user->u_tsize + user->u_dsize + user->u_ssize)) / 1024; + #endif + #endif /* SCO */ + } /* end of copy_user_to_proc */ + + /*+------------------------------------------------------------------------- read_and_sort_procs(initial) --------------------------------------------------------------------------*/ void *************** *** 277,300 omitted_one = 1; continue; } ! /* save stuff out of user in unimportant proc areas */ ! tproc->p_U_UTIME = user.u_utime; ! tproc->p_U_STIME = user.u_stime; ! strncpy((char *)tproc->p_U_PSARGS,user.u_psargs,U_PSARGS_MAX); ! *((char *)tproc->p_U_PSARGS + U_PSARGS_MAX - 1) = 0; ! #if defined(M_UNIX) /* SCO */ ! #if defined(SCO_USIZE_BROKEN) /* SCO UNIX 3.2.0 */ ! tproc->p_size = ! (((u_long)user.u_tsize + 511) / 1024) + ! (((u_long)user.u_dsize + 511) / 1024) + ! (((u_long)user.u_ssize + 511) / 1024) + ! (((u_long)((user.u_tsize)?1:0) * NBPP) / 1024); ! #else /* SCO UNIX 3.2.1 and presumably later */ ! tproc->p_size = ! (ctob((u_long)user.u_tsize + user.u_dsize + user.u_ssize)) ! / 1024; ! #endif ! #endif /* SCO */ } nprocs++; } --- 306,312 ----- omitted_one = 1; continue; } ! copy_user_to_proc(tproc,&user); } nprocs++; } *************** *** 776,781 s80[2] = ' '; s80[3] = 0; disp_info_text(x + (NICE_X * fwidth),y,pixel,s80); } if(tproc->p_GOT_USER) --- 788,799 ----- s80[2] = ' '; s80[3] = 0; disp_info_text(x + (NICE_X * fwidth),y,pixel,s80); + } + + if(!tproc->p_GOT_USER) + { + if(tproc->p_GOT_USER = get_user(tproc,&user)) + copy_user_to_proc(tproc,&user); } if(tproc->p_GOT_USER) *** x1.00/x386mon.c Wed Feb 20 23:49:39 1991 --- x386mon.c Thu Feb 21 00:00:41 1991 *************** *** 1,4 ! char *revision = "x1.00"; /*+------------------------------------------------------------------------- x386mon.c - SCO ODT (UNIX 386) system watcher wht@n4hgf.Mt-Park.GA.US --- 1,4 ----- ! char *revision = "x1.10"; /*+------------------------------------------------------------------------- x386mon.c - SCO ODT (UNIX 386) system watcher wht@n4hgf.Mt-Park.GA.US *************** *** 34,39 --------------------------------------------------------------------------*/ /*+:EDITS:*/ /*:01-12-1991-04:35-wht@n4hgf-x1.00 (flush old edit notes) */ #include "unixincs.h" --- 34,40 ----- --------------------------------------------------------------------------*/ /*+:EDITS:*/ + /*:02-21-1991-00:00-wht@n4hgf-change rev number - fixed ps bug */ /*:01-12-1991-04:35-wht@n4hgf-x1.00 (flush old edit notes) */ #include "unixincs.h" ----------------------------------------------------------------------- Warren Tucker, TuckerWare gatech!n4hgf!wht or wht@n4hgf.Mt-Park.GA.US Many [Nobel physics] prizes have been given to people for telling us the universe is not as simple as we thought it was. -Stephen Hawking in A Brief History of Time In computing, there are no such prizes. -me Brought to you by Super Global Mega Corp .com