1 | Thu Mar 30 2000 - wnl (3.5beta12) |
---|
2 | Updated modules: m_aix41.c, m_aix43.c, m_mtxinu.c, m_sco5.c, |
---|
3 | and m_ultrix4.c. |
---|
4 | Included m_irixsgi.c from some source that's been floating around |
---|
5 | SGI. Don't yet know how it compares to m_irix62. |
---|
6 | |
---|
7 | Fri Mar 10 2000 - wnl (3.5beta11) |
---|
8 | top.c: avoid potential loop if stdout gets closed, use macro |
---|
9 | for p_active to avoid collision with system macros. |
---|
10 | m_sunos5: widened some fields to accomodate 5.8. |
---|
11 | m_decosf1: added ordering support |
---|
12 | m_irix62_64: provides 64-bit module based on m_irix62. |
---|
13 | m_irix62: skip bogus files in /proc directory |
---|
14 | m_svr42MP and m_svr5: complete replacement with updated copies |
---|
15 | m_mtxinu: complete replacement with updated copies |
---|
16 | m_aix43: new module for 4.3 |
---|
17 | getans: replaced with a Bourne shell script |
---|
18 | |
---|
19 | Mon Mar 6 2000 - wnl (3.5beta10) |
---|
20 | m_sunos5.c: workaround for curses bug: ensure that TERMINFO has |
---|
21 | a value. |
---|
22 | |
---|
23 | Fri Jan 15 1999 - wnl (3.5beta10) |
---|
24 | top.c: now check return code from read to avoid looping on eof. |
---|
25 | top.c: delay of 0 now only valid for root. |
---|
26 | decosf1.c: patches from Rainer Orth should fix most of the |
---|
27 | problems with this module (including the display of certain |
---|
28 | processes and runtime errors). |
---|
29 | sunos5.c: Rainer insisted on putting the slash back in the |
---|
30 | state field ("run/4") and widened the field to accomodate it. |
---|
31 | aix.c: widened PID field for 6-digit pids (shortened NICE field) |
---|
32 | module macosx added, thanks to Andrew Townley. |
---|
33 | |
---|
34 | Fri Dec 18 1998 - wnl (3.5beta9) |
---|
35 | Configure checks status of "make" and complains if it fails. |
---|
36 | |
---|
37 | Thu Dec 17 1998 - wnl (3.5beta9) |
---|
38 | Added module sco5 from Mike Hopkirk. |
---|
39 | Added module netbsd132 from moto kawasaki. |
---|
40 | |
---|
41 | Sun Oct 25 1998 - wnl (3.5beta9) |
---|
42 | Added Casper's patches for sunos5 for the following: |
---|
43 | produce same results as swap -s (5.5 and higher), |
---|
44 | don't use system_pages kstat when /dev/kmem can be opened, |
---|
45 | skip . and .. when reading /proc, replace use of SOLARIS24 |
---|
46 | with OSREV. |
---|
47 | |
---|
48 | Fri Sep 11 1998 - wnl (3.5beta9) |
---|
49 | Added workaround to getans for the absence of $< in SCO Unix. |
---|
50 | |
---|
51 | Wed Jul 1 1998 - wnl (3.5beta9) |
---|
52 | Changed structure member "errno" to "errnum" in commands.c. |
---|
53 | Replaced hpux10 module with one from John Haxby. |
---|
54 | |
---|
55 | Fri Apr 17 1998 - wnl (3.5beta8) |
---|
56 | Moved definition of _KMEMUSER earlier in m_sunos5.c. This should |
---|
57 | fix the compilation problem with gnu 2.7.2.3, obviating the need |
---|
58 | for the fixinc.svr4 patch, but hopefully will not affect anything |
---|
59 | else. |
---|
60 | Added -DORDER to m_sunos4mp.c |
---|
61 | |
---|
62 | Tue Nov 18 1997 - wnl (3.5beta7) |
---|
63 | Added gcc 2.7.2.3 patch for fixinc.svr4 and changed INSTALL and |
---|
64 | FAQ to refer to it. |
---|
65 | Added NetBSD HP9000 fix. Hopefully it doesn't break other |
---|
66 | NetBSD platforms. |
---|
67 | |
---|
68 | Fri Oct 24 1997 - wnl (3.5beta7) |
---|
69 | Modified m_dcosx.c to change uses of procdir to xprocdir, avoiding |
---|
70 | a name clash with an include file (Bryn Parrott) |
---|
71 | |
---|
72 | Sat Oct 11 1997 - wnl (3.5beta6) |
---|
73 | Incorporated Casper's patches for Solaris 2.6 and for the multi- |
---|
74 | processor bug ("kstat finds too many cpus"). |
---|
75 | |
---|
76 | Sun Jan 20 1996 - wnl (3.5beta5) |
---|
77 | Fixed Casper's m_sunos5 module: there was a poor interaction with |
---|
78 | his use of OSREV and SunOS 5.5.1. |
---|
79 | |
---|
80 | Fri Dec 20 1996 - wnl (3.5beta4) |
---|
81 | Replaced m_sunos5 with a reworked version by Casper Dik. This one |
---|
82 | should work under 2.6 and may not require that top be run setuid |
---|
83 | to root under 2.5 or 2.6. This also fixed a bug in m_sunos5 that |
---|
84 | was introduced in beta3. |
---|
85 | Fixed calculation of OSREV in Configure. |
---|
86 | |
---|
87 | Wed Nov 20 1996 - wnl (3.5beta3) |
---|
88 | Incorporated contributed fixes to: bsdos2, irix62, freebsd20, |
---|
89 | ultrix4, sunos5. Changed calculation of swap area in sunos5 (now |
---|
90 | uses swapctl). sunos5 now understands idled processors. Changed |
---|
91 | Configure to determine os revision using uname (when available) |
---|
92 | and adding it to machine.c compiliation in Makefile as -DOSREV. |
---|
93 | Changed calls to "exit" in modules to use "quit" instead. |
---|
94 | |
---|
95 | Oct 20 1996 - wnl (3.5beta3) |
---|
96 | Removed "time" from list of ordering choices: there's no easy way |
---|
97 | to get cpu time for all processes (it's in the u area). |
---|
98 | |
---|
99 | Fri Oct 18 1996 - wnl (3.5beta3) |
---|
100 | hpux10 and hpux9: using a better means for determining when a |
---|
101 | process is idle. |
---|
102 | decosf1 now includes utils.h. |
---|
103 | |
---|
104 | Fri Sep 13 1996 - wnl (3.5beta2) |
---|
105 | Fixed Configure to build Make.desc in such a way that doesn't |
---|
106 | require a long argument to sed. |
---|
107 | |
---|
108 | Thu Sep 12 1996 - wnl (3.5beta2) |
---|
109 | Fixed bug in display.c that affected empty cpustate names. |
---|
110 | Created hpux1010 module - a variant of hpux10 that does not use |
---|
111 | struct proc or struct user (suitable for HP/UX 10.10). |
---|
112 | |
---|
113 | Wed Sep 11 1996 - wnl (3.5beta2) |
---|
114 | Changes to sunos5 module: Removed WCPU column since it is meaningless |
---|
115 | on a SVR4-based system. Added THR column to show number of threads |
---|
116 | for each process. This was not straightforward: the information is |
---|
117 | not stored in prpsinfo but rather in prstatus. |
---|
118 | |
---|
119 | Tue Sep 10 1996 - wnl (3.5beta1) |
---|
120 | Added patches for sunos4mp to provide order support. |
---|
121 | Added irix62 module. |
---|
122 | Changed prime.c to include stdio.h for printf prototype. |
---|
123 | Added conditional code to os.h and utils.c to handle systems |
---|
124 | where sys_errlist is defined in stdio.h (such as NetBSD). |
---|
125 | |
---|
126 | Mon Sep 09 1996 - wnl (3.5beta1) |
---|
127 | Removed tar and shar rules from Makefile.X -- don't need them anymore. |
---|
128 | Added -v option to display version number. Updated man page. |
---|
129 | |
---|
130 | Thu Aug 29 1996 - wnl (3.4) |
---|
131 | Replaced modules (from Tim Pugh): next 32, next40. |
---|
132 | Fixed bug in username.c: hashing negative uids. |
---|
133 | |
---|
134 | Thu Aug 22 1996 - wnl (3.4beta3) |
---|
135 | Patched modules: ultrix4, sunos4, sunos5, utek, decosf1, irix5. |
---|
136 | Added modules: next40, next32. |
---|
137 | Fixed procstates update bug in display.c. |
---|
138 | Fixed divide by zero bug in utils.c. |
---|
139 | Fixed bad number in layout.h |
---|
140 | Minor fixes to Configure. |
---|
141 | Complete overhaul of FAQ. |
---|
142 | |
---|
143 | Tue Feb 13 1996 - wnl (3.4beta3) |
---|
144 | Added convex module from Warren Vosper (originally written by |
---|
145 | William Jones). |
---|
146 | |
---|
147 | Tue Feb 13 1996 - wnl (3.4beta2) |
---|
148 | Fixed format_k in utils.c to calculate K and M values correctly. |
---|
149 | Added check for gigabyte values ('G'). Changed sumamry_format |
---|
150 | in display.c to use format_k where appropriate. |
---|
151 | Changed creation of distribution tar file to place everything in |
---|
152 | a top level directory. |
---|
153 | |
---|
154 | Tue Jan 30 1996 - wnl (3.4beta2) |
---|
155 | Added m_aix41 module. Added new tag type to module comments: |
---|
156 | TERMCAP, which defined the library to use for a termcap library. |
---|
157 | If no TERMCAP tag is found in the module's initial comment, then |
---|
158 | Configure will default to "-ltermcap". AIX needs this since it |
---|
159 | put all the termcap routines in libcurses(!) |
---|
160 | |
---|
161 | Added m_bsdos2 (found lingering in my mailbox). |
---|
162 | Updated m_svr4 to include support for NCR multiprocessors. |
---|
163 | Fixed small bug in utils.c |
---|
164 | |
---|
165 | Thu Jan 25 1996 - wnl (3.4beta1) |
---|
166 | Fixed m_sunos5 invocation of gettimeofday to include "NULL" as |
---|
167 | second argument. This provides compatability with the Posix- |
---|
168 | compliant template provided with SunOS 5.5, but doesn't hurt |
---|
169 | previous versions since they do bother with a template for that |
---|
170 | function. |
---|
171 | |
---|
172 | Made changes (recommended by net users) to hpux10, ultrix4, |
---|
173 | netbsd10, aux3 (replaced aux31). Added module for linux. |
---|
174 | |
---|
175 | Fri Oct 10 1995 - wnl (3.4beta1) |
---|
176 | Added user-contributed modules for SCO Unix, IRIX 5, HP/UX 10, |
---|
177 | Pyramid DC/OSX. Changed Configure so that it runs in environments |
---|
178 | whose c-shells have no 'eval'(!). Added support for multiple sort |
---|
179 | ordering methods via the -o switch. This option requires support |
---|
180 | from the machine dependent module: such support was added to |
---|
181 | sunos5 (thus sunos54) and sunos4. |
---|
182 | |
---|
183 | display.c: Changed CPU states display line to shorten the leading |
---|
184 | tag if the data won't fit in the current width. Fixed a divide-by- |
---|
185 | zero bug that affected ultrasparc servers (and potentially other |
---|
186 | systems). |
---|
187 | |
---|
188 | m_sunos5.c: Now asks the system for the correct pagesize rather than |
---|
189 | assuming it is 4K. |
---|
190 | |
---|
191 | Thu Mar 2 1995 - wnl (3.3 RELEASE) |
---|
192 | Added module netbsd10 and renamed netbsd to netbsd08. Changed |
---|
193 | Configure so that it does not use an initial default module name. |
---|
194 | Made other compatability fixes to Configure. Added comments to |
---|
195 | decosf1 concerning optimizer bug. Other documentation changes. |
---|
196 | Added use of "prime.c" to Configure script. |
---|
197 | |
---|
198 | Tue Feb 7 1995 - wnl (3.3beta6) |
---|
199 | Still one more beta.... |
---|
200 | Fixes for sunos5 2.4 gcc core dump (it was an alignment problem). |
---|
201 | Fixed and improvements for decosf1 (including use of format_k |
---|
202 | for proper SIZE column formatting). Added modules freebsd20 and |
---|
203 | ncr3000. |
---|
204 | |
---|
205 | Thu Feb 2 1995 - wnl (3.3beta5) |
---|
206 | One more beta.... |
---|
207 | Fixed a few bugs in the sunos5 port pertaining to casting and |
---|
208 | very large memory counts. Added "ifndef HAVE_GETOPT" to getopt.c |
---|
209 | to provide for conditional compilation of the getopt function. |
---|
210 | Those systems that have getopt in libc can add -DHAVE_GETOPT to |
---|
211 | the CFLAGS line in the module to prevent the function from being |
---|
212 | compiled. Added sunos54 module to accomodate SunOS 5.4 |
---|
213 | peculiarities. Added module for aux3.1. |
---|
214 | |
---|
215 | Wed Jan 4 1995 - wnl (3.3beta4) |
---|
216 | This is really taking too long......sigh. |
---|
217 | Fixed SIGWINCH handling once and for all. It now remembers the |
---|
218 | number of processes you want displayed even thru window resizes. |
---|
219 | Fixed buffer conflict in utils.c (itoa and itoa7). |
---|
220 | Lots of small improvements to the various modules were made over |
---|
221 | the past month: too numberous to list here. SunOS 5 module made |
---|
222 | more secure thru use of seteuid calls (other SVR4 modules should |
---|
223 | be modified similarly). One final MP fix to sunos5, too. Module |
---|
224 | for decosf1 was modified to accomodate V3.0. |
---|
225 | |
---|
226 | Mon Apr 18 1994 - wnl (3.3beta3) |
---|
227 | I think I finally got a sunos5 module that will work on MP |
---|
228 | machines. Fixed cpu states figure in osmp41a so that |
---|
229 | percentages never exceed 100%. Added shell script "install" |
---|
230 | since Unix vendors can't seem to make up their minds on what |
---|
231 | options they want to use for the one that comes with the OS. |
---|
232 | Added netbsd modules from Christos. Fixed lots of other little |
---|
233 | things over the past few months that I have long since forgotten. |
---|
234 | |
---|
235 | Wed Dec 15 1993 - wnl (3.3beta2) |
---|
236 | Added module patches from various users: hpux9, sunos5. |
---|
237 | Fixed bug with batch mode (screen_width wasn't getting set). |
---|
238 | Changes to accomodate 64 bit machines. |
---|
239 | Fixed some bugs in command parsing ("renice 19 " did something |
---|
240 | unexpected). |
---|
241 | |
---|
242 | Mon Aug 30 1993 - wnl (3.3beta) |
---|
243 | Added lots of little patches from various users. |
---|
244 | Added routines to utils.c for intelligent formatting of kilobytes |
---|
245 | and time. These are intended to be used in the modules when |
---|
246 | formatting a process line. Added code to "summary_format" in |
---|
247 | display.c to do intelligent formatting of memory quantities. |
---|
248 | Redid display.c to allow for varying line widths and dynamic |
---|
249 | reallocation of the screen buffer. |
---|
250 | Added a SIGWINCH handler to top.c! |
---|
251 | Added a constant, MAX_COLS, to top.h which defines the absolute |
---|
252 | widest line we will ever allow. Changed allocations of "char fmt" |
---|
253 | in all machine modules to use this constant rather than an abitrary |
---|
254 | number. |
---|
255 | |
---|
256 | Fri Aug 13 1993 - wnl (3.3) |
---|
257 | Changed return value definition of time-related functions in top.c, |
---|
258 | display.c, and m_ultrix4.c to time_t (stuart@coral.cs.jcu.edu.au). |
---|
259 | Fixed bug in display.c: line_update when start != 0. |
---|
260 | |
---|
261 | Wed Aug 4 1993 - wnl (3.2 release) |
---|
262 | Changes to Configure from Paul Vixie. Added modules for hpux9 and |
---|
263 | bsd386. |
---|
264 | |
---|
265 | Tue Jul 13 1993 - wnl (3.1 release) |
---|
266 | More small changes and minor bug fixes. Brought bsd44 up to date |
---|
267 | and added a module for svr4.2. Changed shar packaging to use Rich |
---|
268 | Salz's cshar stuff. |
---|
269 | |
---|
270 | Wed Jul 7 1993 - wnl (3.1BETA) |
---|
271 | More changes and bug fixes to Configure. Applied some other |
---|
272 | minor bug fixes and suggestions from the beta testers. Added |
---|
273 | the "metatop" shell script and the "installmeta" rule to the |
---|
274 | Makefile to make handling multiple machine models and OS versions |
---|
275 | easier. Added INSTALL and FAQ files. |
---|
276 | |
---|
277 | Tue May 18 1993 - wnl (3.1BETA) |
---|
278 | Changed Configure to be compatible with most SVR4 environments |
---|
279 | (differing output from "ls -lg"). Also changed Configure, |
---|
280 | Makefile.X, etc., to look for module files in the subdirectory |
---|
281 | "machine" (thanks to Christos Zoulas). |
---|
282 | |
---|
283 | Tue Apr 20 1993 - wnl (3.1BETA) |
---|
284 | Changed both occurences of "ls -1" in Configure to "ls". This |
---|
285 | SHOULD produce the same result, and has the advantage that it |
---|
286 | doesn't produce an error on a system 5 machine. Integrated other |
---|
287 | changes recommended in the first round of beta testing. |
---|
288 | |
---|
289 | Wed Mar 10 1993 - wnl (3.1BETA) |
---|
290 | MAJOR CHANGE: I have added a required function to all machine |
---|
291 | dependent modules, called proc_owner. It takes a pid as an argument |
---|
292 | and returns the uid of the process's owner. Such capability is |
---|
293 | necessary for top to run securely as a set-uid program, something |
---|
294 | that is needed for SVR4 implementations to read /proc. I have |
---|
295 | retrofitted all modules except dgux with this function, but was |
---|
296 | not able to test most of them. Top should now run securely as |
---|
297 | a setuid program. Added 386bsd and sunos5 modules. Added sunos4mp |
---|
298 | module for MP Suns. |
---|
299 | |
---|
300 | Sat Feb 20 1993 - wnl (3.1ALPHA) |
---|
301 | Modified top.c and commands.c to compile correctly on System V |
---|
302 | derived Unixes (especially SVR4), but in a way that doesn't rely |
---|
303 | on an oracle-like declaration (that is, I don't use "ifdef SYSV"). |
---|
304 | Fixed some bugs in "Configure" and "getans". Added inspection of |
---|
305 | env variable "TOP" for options, and made -I default to showing |
---|
306 | idle processes. Added "u" command to change username restriction |
---|
307 | on the fly. Created shell script "suntop" for poor multi-version |
---|
308 | SunOS folks (like myself). |
---|
309 | |
---|
310 | Wed Jun 3 1992 - wnl (3.0) |
---|
311 | "max_topn" wasn't being used everywhere it was supposed to be |
---|
312 | in top.c. Many cosmetic changes, including copyright notices in |
---|
313 | all the .c files. Version number is now handled by version.c and |
---|
314 | reflects the current patchlevel (which is initially set to 0). |
---|
315 | Changed Configure and Makefile to allow configurable variables for |
---|
316 | certain commands: shell, cc, awk, install. Updated README and |
---|
317 | Porting. Ready to release to the world! |
---|
318 | |
---|
319 | Mon May 18 1992 - wnl (2.9BETA) |
---|
320 | Added modules provided by Christos Zoulas. Replaced screen.c |
---|
321 | with one modified by Christos and that will appropriately select |
---|
322 | and handle the sgtty, termio, or termios system. Integrated many |
---|
323 | other changes recommended by Christos. Fixed (I hope) the "-b" |
---|
324 | batch mode display bug. Had to change loadavg to load_avg to avoid |
---|
325 | a conflict with 4.4BSD. |
---|
326 | |
---|
327 | Mon Apr 27 1992 - wnl (2.8BETA) |
---|
328 | Added modules provided by Daniel Trinkle. Added patchlevel.h, |
---|
329 | but the patch level is not yet reflected in the version number. |
---|
330 | Cleaned up m_sunos4.c a little. |
---|
331 | |
---|
332 | Wed Apr 22 1992 - wnl (2.8BETA) |
---|
333 | Major internal reorganization. All of the system dependent stuff |
---|
334 | is now really and truly separated from everything else. The |
---|
335 | system dependent functions are contained in a separate .c file |
---|
336 | called a "module". The Configure script knows how to find and |
---|
337 | set up these modules, but the human installer still needs to tell |
---|
338 | Configure which module to use (no automagic determination of |
---|
339 | machine type---sorry). Added -U option to specify one user's |
---|
340 | processes, but there is no corresponding command...yet. Other |
---|
341 | changes and improvements too numerous to mention here. Currently |
---|
342 | there are only two modules: sunos4 and umax. But after this beta |
---|
343 | release is sent around, I expect more to be written. I just hope |
---|
344 | that the machine-dependent abstractions don't need to change in |
---|
345 | the process. |
---|
346 | |
---|
347 | Thu Mar 26 1992 - wnl (2.7BETA) |
---|
348 | Beta release with minimal architecture support. Updated README |
---|
349 | and added a first cut at a Porting guide. Added ioctl TIOCGWINSZ |
---|
350 | code from top2.5+ (courtesy of David MacKenzie). I didn't even |
---|
351 | try porting the Ultrix support since I don't have access to an |
---|
352 | Ultrix machine. |
---|
353 | |
---|
354 | Fri Oct 11 1991 - wnl (2.6) |
---|
355 | This version was not widely released. It contained many changes. |
---|
356 | Here are the major ones: |
---|
357 | |
---|
358 | Put in Vixie's idle process hack. |
---|
359 | |
---|
360 | Enhanced type field in new_message to handle delayed messages. |
---|
361 | |
---|
362 | Changed u_process to automatically adjust for varying lines of |
---|
363 | output. Management of screenbuf should now be completely contained |
---|
364 | in display.c. Removed now extraneous code from CMD_number[12] |
---|
365 | portion of command switch in top.c. This was the stuff that dealt |
---|
366 | with zeroing out lines in screenbuf. |
---|
367 | |
---|
368 | Finally made it all work correctly on a 386i. Problems I had to |
---|
369 | overcome: kvm_nlist doesn't return 0 on success as advertised (it |
---|
370 | returns 1 instead); the results of a kvm_nlist are different |
---|
371 | (n_type can be zero even for a symbol that exists). |
---|
372 | |
---|
373 | Serious rearrangement for processor dependent stuff. All nlists |
---|
374 | are now in separate files with the suffix ".nlist". Most machine |
---|
375 | specific code is in "machine.c" surrounded by appropriate ifdefs--- |
---|
376 | the goal is to eventually have all machine specific code in this |
---|
377 | file. Managed to find a way to detect SunOS 4.x at compile-time: |
---|
378 | this is contained in the include file "sun.h". Completely changed |
---|
379 | the memory display line for SunOS 4.x---it now displays a far |
---|
380 | more appropriate report. |
---|
381 | |
---|
382 | Created the shell script "Configure" to aid in the configuration |
---|
383 | step. |
---|
384 | |
---|
385 | Fixed a bug in init_termcap: it will now tolerate an environment |
---|
386 | which does not have TERM defined (thanks to Sam Horrocks for |
---|
387 | pointing this out). |
---|
388 | |
---|
389 | Tue Aug 9 1988 - wnl (2.5) |
---|
390 | Added changes to make top work under version 4.0 of the Sun |
---|
391 | operating system. Changes were provided by Scott Alexander of the |
---|
392 | University of Pennsylvania. Thanks! Compile with "-Dsunos4" to |
---|
393 | get them. Virtual memory statistics are not readily accessible |
---|
394 | under 4.0, so they don't show up in the output. |
---|
395 | |
---|
396 | Thu Jul 31 1987 - wnl (2.4) |
---|
397 | Fixed a problem with the 4.0 Pyramid code. The label "cp_time" |
---|
398 | doesn't exist in the 4.0 kernel anymore. I think the code Carl |
---|
399 | sent me wants "percpu" instead. That is what I am using and it |
---|
400 | appears to work. 375 code is still untested (at least by me). |
---|
401 | Also picked a great deal of lint out of the source. Lint now only |
---|
402 | complains about a very few nitpicky things (there are far too many |
---|
403 | calls to "printf" to put a "(void)" in front of!), at least under |
---|
404 | SunOS. |
---|
405 | |
---|
406 | Tue Jul 28 1987 - wnl (2.4a) |
---|
407 | Added changes for a Symmetrics Computer Systems s/375 machine. |
---|
408 | Changes were provided by Paul Vixie. Thanks! According to Mr. |
---|
409 | Vixie: "These changes were not made at, by, or for SCS proper. |
---|
410 | SCS would probably be interested in them, but so far only the |
---|
411 | users' group has them. They were made in February, 1987, to |
---|
412 | version 2.1 of the program, by Paul Vixie |
---|
413 | (dual!ptsfa!vixie!paul@ucbvax.Berkeley.EDU)." His changes were |
---|
414 | integrated into version 2.3 to make version 2.4. |
---|
415 | |
---|
416 | The SCS peculiarities are summarized in Changes.scs. |
---|
417 | |
---|
418 | Tue Jun 9 1987 - wnl (2.3 for real) |
---|
419 | Changed the includes for the extra code Carl sent me to only |
---|
420 | compile on Version 4.0 Pyramid machines. This makes top still |
---|
421 | compilable on pre-4.0 Pyramids. Specifically, this code is only |
---|
422 | compiled when both "pyr" and "CPUFOUND" are defined. |
---|
423 | |
---|
424 | Wed Jun 3 1987 - wnl (2.3 with Pyramid additions) |
---|
425 | It's been a month and I still haven't done anything about |
---|
426 | distributing this version. However, Carl Gutekunst from Pyramid |
---|
427 | has sent me some extra patches for some of the Pyramid code. I |
---|
428 | just added those and will make them part of 2.3. This fixes the |
---|
429 | following Pyramid problems: adds the inclusion of <sys/systm.h>, |
---|
430 | uses the correct size for getting the kernel value _ccpu (this bug |
---|
431 | affected the Vax version as well), sums the elements of the percpu |
---|
432 | array to calculate a cp_time value (for OSx 4.0). |
---|
433 | |
---|
434 | Fri May 1 1987 - wnl (2.3) |
---|
435 | I have finally finished all the changes for better support of |
---|
436 | oddbal terminals. Added the low-level routine "clear_eol" which |
---|
437 | makes handling terminals without "ce" easy: it uses spaces |
---|
438 | instead. All direct uses of "clear_line" outside of screen.c have |
---|
439 | been changed to use this primitive. A terminal with "os" is now |
---|
440 | handled in such that all situations that need overwriting are |
---|
441 | completely avoided (including several commands). This required |
---|
442 | some changes to the way commands are translated into action (in |
---|
443 | "top.c"). Made several important changes to display.c to prevent |
---|
444 | overflowing of any of the fields. Specifically, more than 99 |
---|
445 | total processes and a cpu state that reaches 100%. Had to make a |
---|
446 | small change to two casts in top.c, because the Sun 3.2 compiler |
---|
447 | was giving warnings on them. Added the "-q" option which lets |
---|
448 | root run top at a nice of -20 (in case he thinks he really needs it). |
---|
449 | |
---|
450 | Tue Dec 30 1986 - wnl (2.2) |
---|
451 | I think I fixed a bug reported by Julian Onions at Nottingham. |
---|
452 | Occasionally, top will core dump when the sprintf in either |
---|
453 | i_process or u_process overflows due to an exceptionally |
---|
454 | unrealistic time value. I think it highly unlikely that top can |
---|
455 | get a bad proc structure (although I suppose it is possible), but |
---|
456 | the process time is read from the user structure, and that can |
---|
457 | sometimes be part garbage. So, "get_ucpu" checks the value it |
---|
458 | returns to make sure its formatted form will not overflow the |
---|
459 | sprintf. If this doesn't fix the bug, then more drastic measures |
---|
460 | will be necessary. I plan to make this version the official |
---|
461 | "top 2.2". [[ This version was never distributed very widely. ]] |
---|
462 | |
---|
463 | Tue Dec 2 1986 - wnl (2.2c) |
---|
464 | Added to top.c the notion of a "failed command". When a command |
---|
465 | produces a message (on the message line), an update does not |
---|
466 | follow it. Before, the message was written and a new display was |
---|
467 | shown---purposefully not overwriting the message. But the |
---|
468 | improvements to handle overstriking terminals and terminals |
---|
469 | without "ce" clear the screen before every display, which would |
---|
470 | erase the message. Now, the message is displayed and top waits |
---|
471 | another full time interval before updating the display. This |
---|
472 | works much better all around. |
---|
473 | |
---|
474 | Mon Nov 24 1986 - wnl (2.2b) |
---|
475 | Created a new file, utils.c, and made appropriate changes to |
---|
476 | Makefile. This new file holds all utility functions that can and |
---|
477 | may be used by more than one "module". Improved i_memory and |
---|
478 | u_memory (display.c) so that screen updates for the values |
---|
479 | displayed are only changed when necessary. Also made the line |
---|
480 | look better: the last fixes made for a rather ugly display. |
---|
481 | Added the locally defined constant "LoadMax" and added code to |
---|
482 | top.c to send the cursor home after a space command is entered if |
---|
483 | the load average is higher than "LoadMax". This provides visual |
---|
484 | feedback on loaded systems. |
---|
485 | |
---|
486 | Mon Nov 3 1986 - wnl (2.2a) |
---|
487 | Widened the format for memory usage so that it can display 5 |
---|
488 | digits. This makes that line look a little ugly---maybe I'll fix |
---|
489 | that later. Screen handling now understands "os" and a missing |
---|
490 | "ce". It treats them identically: clear the screen between each |
---|
491 | display. Screen handling code now uses "cd" when appropriate |
---|
492 | (i.e.: when user has shortened the screen). Made i_loadave clear |
---|
493 | then screen and took out most of the explicit calls to "clear" in |
---|
494 | top.c. This method is cleaner, especially in conjunction with |
---|
495 | "os" handling. Added preprocessor variable "RANDOM_PW" for |
---|
496 | systems that access the passwd file randomly (Sun's yp and 4.3). |
---|
497 | With "RANDOM_PW" set, "getpwuid" is used instead of "getpwnam", |
---|
498 | but uid->username mappings are still hashed internally (because |
---|
499 | that is still faster than going to disk). |
---|
500 | |
---|
501 | Mon Oct 6 1986 - wnl (2.1) |
---|
502 | A bug with the kill command was pointed out by "dciem!tim"--- |
---|
503 | specifying a signal by name did not work correctly. This bug has |
---|
504 | been fixed with a simple change to commands.c. Another bug made |
---|
505 | the cpu state percentages incorrect the first time they were |
---|
506 | displayed. This bug has also been fixed (changed top.c). |
---|
507 | |
---|
508 | Thu Sep 4 1986 - wnl (2.0, at last) |
---|
509 | This is the version that will (hopefully) get released to the |
---|
510 | world as top 2.0. |
---|
511 | Added the "r" and "k" commands for renice and kill, respectively. |
---|
512 | This required adding a way to handle system call errors, and the |
---|
513 | addition of the "e" command. Help screen and manual page were |
---|
514 | changed to reflect this change. Changed all "#ifdef SUN" directives |
---|
515 | to "#ifdef sun", and changed all "#ifdef PYRAMID" directives to |
---|
516 | "#ifdef pyr". As much as I hate those choices of preprocessor |
---|
517 | names (they too easily conflict with real variable names), it does |
---|
518 | make automatic compilation possible---people don't have to change |
---|
519 | the Makefile anymore for specific machines. The manual page was |
---|
520 | changed to automatically incorporate the defaults as set in the |
---|
521 | Makefile (including an infinite value for TOPN) and the way the |
---|
522 | manual page is generated by the Makefile was changed to make |
---|
523 | maintenance of this information automatic. |
---|
524 | |
---|
525 | Mon Jul 28 1986 - wnl (still pre 2.0) |
---|
526 | Real close now. I put in a new definition for the macro "pagetok" |
---|
527 | that does an explicit shift of a constant expression involving |
---|
528 | PGSHIFT. Appropriate checks are made if PGSHIFT is to small. |
---|
529 | "pagetok" is now used exclusively everywhere to convert kernel |
---|
530 | clicks to kilobytes. I added a full blown interactive mode with |
---|
531 | the ability to change some of the runtime parameters (how many to |
---|
532 | display, time delay, etc.) while top is running. I also |
---|
533 | incorporated a few ideas from the net: control characters in the |
---|
534 | command name are replaced with '?'; the '-S' option makes the |
---|
535 | swapper and pager visible; options have been added to control the |
---|
536 | number of displays produced (this makes it easier to make |
---|
537 | performance snapshots with top). I have also added the notion of |
---|
538 | "infinite" values for number of processes and number of displays. |
---|
539 | I fixed a long-standing bug in the uid to username mapping code |
---|
540 | that was only aggravated on the pyramids: it was an ill-defined |
---|
541 | expression (akin to i = i++). I tweaked the proc_compar routine |
---|
542 | for qsort slightly so that stopped processes were more likely to |
---|
543 | show up. Manual page was updated to reflect all changes |
---|
544 | noticeable to the user. |
---|
545 | |
---|
546 | Tue Jul 1 1986 - wnl (pre 2.0 -- 1.9999?) |
---|
547 | In the process of major revamping on the way to version 2.0. |
---|
548 | I have completely done away with curses by adding my own screen |
---|
549 | management routines in a separate file (screen.c). The rationale |
---|
550 | for this is that top knows a whole lot more about what is and is |
---|
551 | not redundant on the screen and can compare simple integer values |
---|
552 | where curses would have to compare strings. This has turned out |
---|
553 | to be a very big win speed-wise. The proc_compar routine for |
---|
554 | sorting has been rewritten to include several more keys. I |
---|
555 | decided this was necessary when I noticed that the "top" process |
---|
556 | itself kept disappearing off the top 10 list on a Sun-3. All the |
---|
557 | processes had the same percentage (0%) and the sort wasn't really |
---|
558 | doing anything worthwhile. I changed the expression that computes |
---|
559 | memory usage to use the ctob macro instead of just assuming that |
---|
560 | pages were 512 bytes. More work still needs to be done before |
---|
561 | this version is usable. I changed options-processing to use |
---|
562 | getopt and added appropriate incantations to the Makefile. |
---|
563 | |
---|
564 | Wed Feb 20 1985 - wnl (still 1.8) |
---|
565 | Put in the ifdef FOUR_ONE statements to make top still compilable |
---|
566 | on a 4.1 system. Apparently, there are some users out there that |
---|
567 | need this functionality. Oh well. I don't guarantee any of it, |
---|
568 | since I can't test it. Made appropriate changes to README and |
---|
569 | final installation related changes to Makefile. |
---|
570 | |
---|
571 | Sat Feb 2 1985 - wnl (1.8) |
---|
572 | Removed all the ifdef FOUR_TWO statements and made "top" into a |
---|
573 | 4.2 only program. If someone really wants to still run it on 4.1, |
---|
574 | then they can do all the work. We don't have a 4.1 machine |
---|
575 | anymore, so I don't even know if the thing still works under 4.1. |
---|
576 | Cleaned up the Makefile and the README. Added installation rules |
---|
577 | to the Makefile, as requested by several sites. Fixed a very |
---|
578 | obscure divide-by-zero bug. Added a second "key" to the qsort |
---|
579 | comparison function (proc_compar) so that comparisons are based on |
---|
580 | cpu ticks if the percentages are equal (provided by Jonathon |
---|
581 | Feiber at Sun). |
---|
582 | |
---|
583 | Tue Dec 11 1984 - wnl (1.7) |
---|
584 | Added the virtual and real memory status line to the header area |
---|
585 | (provided by Jonathon Feiber at Sun) |
---|
586 | |
---|
587 | Tue Nov 20 1984 - wnl (1.6) |
---|
588 | Added an "exit" if sbrk's fail. Added changes from Jonathon |
---|
589 | Feiber at Sun: ifdef SUN to make top work on Suns (they don't use |
---|
590 | doubles in the proc structure), register declarations, check for |
---|
591 | getting a user structure that has disappeared since the proc array |
---|
592 | was read (it used to die, now it just shows the process as swapped). |
---|
593 | |
---|
594 | Tue Nov 13 1984 - wnl (1.5) |
---|
595 | If the number of displayable processes ("active_procs") was less |
---|
596 | than the number of requested processes ("topn"), top would |
---|
597 | segmentation fault. This bug has been fixed. Thanks to Prentiss |
---|
598 | Riddle at ut-sally for pointing out the existence of this bug. |
---|
599 | |
---|
600 | Tue Oct 23 1984 - wnl (1.4) |
---|
601 | Finally fixed the hash table bug that caused processes owned by |
---|
602 | root to sometimes appear with either no name or a different name |
---|
603 | that had UID 0 (such as "operator"). Removed all the ifdef DEBUG |
---|
604 | blocks to make top ready for distribution to the real world. |
---|
605 | |
---|
606 | Sun Apr 8 1984 - wnl (still 1.3) |
---|
607 | Made some slight changes to the display format. It now looks more |
---|
608 | aesthetically pleasing. Added some preprocessor constants so that |
---|
609 | the two defaults (number of processes and seconds of delay) easier |
---|
610 | to change. |
---|
611 | |
---|
612 | Thu Apr 5 1984 - wnl (1.3) |
---|
613 | Changed the order in which things are done at initialization time. |
---|
614 | This way, if an error occurs before starting the main loop, curses |
---|
615 | will never get started. Also changed other error handlers so that |
---|
616 | endwin() is called before any flavor of exit. Specifying a number |
---|
617 | of processes that is more than the screen can handle is no longer |
---|
618 | fatal. It displays a warning message and pretends the user |
---|
619 | specified the maximum for the screen. Finally cured all the TSTP |
---|
620 | blues (well, almost all). I removed my TSTP handler and convinced |
---|
621 | the system to always use the one that curses sets up. Turns out |
---|
622 | that "sleep" was stepping all over it during a pause. So, I don't |
---|
623 | use sleep anymore. The only problem that remains with it now is |
---|
624 | redrawing the old display before updating it after a pause. |
---|
625 | |
---|
626 | Tue Apr 3 1984 - wnl (from 1.0 to 1.2) |
---|
627 | I changed the format of the TIME column from just "seconds" to |
---|
628 | "minutes:seconds". I also made pausing work correctly. Screen |
---|
629 | redraws with an up to date display. For compatibility with 4.2, I |
---|
630 | changed the name of the "zero" function to "bzero". The makefile |
---|
631 | has been altered to handle versions for 4.1 and 4.2, and README |
---|
632 | has been updated to reflect these recent changes. |
---|