home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume27 / top-3.2 / part09 / Changes
Encoding:
Text File  |  1993-08-08  |  18.5 KB  |  369 lines

  1. Tue Jul 13 1993 - wnl (3.1 release)
  2.     More small changes and minor bug fixes.  Brought bsd44 up to date
  3.     and added modules for svr4.2 and IRIX.  Changed shar packaging to
  4.     use Rich Salz's cshar stuff.
  5.  
  6. Wed Jul  7 1993 - wnl (3.1BETA)
  7.     More changes and bug fixes to Configure.  Applied some other
  8.     minor bug fixes and suggestions from the beta testers.  Added
  9.     the "metatop" shell script and the "installmeta" rule to the
  10.     Makefile to make handling multiple machine models and OS versions
  11.     easier.  Added INSTALL and FAQ files.
  12.  
  13. Tue May 18 1993 - wnl (3.1BETA)
  14.     Changed Configure to be compatible with most SVR4 environments
  15.     (differing output from "ls -lg").  Also changed Configure,
  16.     Makefile.X, etc., to look for module files in the subdirectory
  17.     "machine" (thanks to Christos Zoulas).
  18.  
  19. Tue Apr 20 1993 - wnl (3.1BETA)
  20.     Changed both occurences of "ls -1" in Configure to "ls".  This
  21.     SHOULD produce the same result, and has the advantage that it
  22.     doesn't produce an error on a system 5 machine.  Integrated other
  23.     changes recommended in the first round of beta testing.
  24.  
  25. Wed Mar 10 1993 - wnl (3.1BETA)
  26.     MAJOR CHANGE:  I have added a required function to all machine
  27.     dependent modules, called proc_owner.  It takes a pid as an argument
  28.     and returns the uid of the process's owner.  Such capability is 
  29.     necessary for top to run securely as a set-uid program, something
  30.     that is needed for SVR4 implementations to read /proc.  I have
  31.     retrofitted all modules except dgux with this function, but was
  32.     not able to test most of them.  Top should now run securely as
  33.     a setuid program.  Added 386bsd and sunos5 modules.  Added sunos4mp
  34.     module for MP Suns.
  35.  
  36. Sat Feb 20 1993 - wnl (3.1ALPHA)
  37.     Modified top.c and commands.c to compile correctly on System V
  38.     derived Unixes (especially SVR4), but in a way that doesn't rely
  39.     on an oracle-like declaration (that is, I don't use "ifdef SYSV").
  40.     Fixed some bugs in "Configure" and "getans".  Added inspection of
  41.     env variable "TOP" for options, and made -I default to showing
  42.     idle processes.  Added "u" command to change username restriction
  43.     on the fly.  Created shell script "suntop" for poor multi-version
  44.     SunOS folks (like myself).
  45.  
  46. Wed Jun  3 1992 - wnl (3.0)
  47.     "max_topn" wasn't being used everywhere it was supposed to be
  48.     in top.c.  Many cosmetic changes, including copyright notices in
  49.     all the .c files.  Version number is now handled by version.c and
  50.     reflects the current patchlevel (which is initially set to 0).
  51.     Changed Configure and Makefile to allow configurable variables for
  52.     certain commands:  shell, cc, awk, install.  Updated README and
  53.     Porting.  Ready to release to the world!
  54.  
  55. Mon May 18 1992 - wnl (2.9BETA)
  56.     Added modules provided by Christos Zoulas.  Replaced screen.c
  57.     with one modified by Christos and that will appropriately select
  58.     and handle the sgtty, termio, or termios system.  Integrated many
  59.     other changes recommended by Christos.  Fixed (I hope) the "-b"
  60.     batch mode display bug.  Had to change loadavg to load_avg to avoid
  61.     a conflict with 4.4BSD.  
  62.  
  63. Mon Apr 27 1992 - wnl (2.8BETA)
  64.     Added modules provided by Daniel Trinkle.  Added patchlevel.h,
  65.     but the patch level is not yet reflected in the version number.
  66.     Cleaned up m_sunos4.c a little.
  67.  
  68. Wed Apr 22 1992 - wnl (2.8BETA)
  69.     Major internal reorganization.  All of the system dependent stuff
  70.     is now really and truly separated from everything else.  The
  71.     system dependent functions are contained in a separate .c file
  72.     called a "module".  The Configure script knows how to find and
  73.     set up these modules, but the human installer still needs to tell
  74.     Configure which module to use (no automagic determination of 
  75.     machine type---sorry).  Added -U option to specify one user's
  76.     processes, but there is no corresponding command...yet.  Other
  77.     changes and improvements too numerous to mention here.  Currently
  78.     there are only two modules:  sunos4 and umax.  But after this beta
  79.     release is sent around, I expect more to be written.  I just hope
  80.     that the machine-dependent abstractions don't need to change in
  81.     the process.
  82.  
  83. Thu Mar 26 1992 - wnl (2.7BETA)
  84.     Beta release with minimal architecture support.  Updated README
  85.     and added a first cut at a Porting guide.  Added ioctl TIOCGWINSZ
  86.     code from top2.5+ (courtesy of David MacKenzie).  I didn't even
  87.     try porting the Ultrix support since I don't have access to an
  88.     Ultrix machine.
  89.  
  90. Fri Oct 11 1991 - wnl (2.6)
  91.     This version was not widely released.  It contained many changes.
  92.     Here are the major ones:
  93.  
  94.     Put in Vixie's idle process hack.
  95.  
  96.     Enhanced type field in new_message to handle delayed messages.
  97.  
  98.     Changed u_process to automatically adjust for varying lines of
  99.     output.  Management of screenbuf should now be completely contained
  100.     in display.c.  Removed now extraneous code from CMD_number[12]
  101.     portion of command switch in top.c.  This was the stuff that dealt
  102.     with zeroing out lines in screenbuf.
  103.  
  104.     Finally made it all work correctly on a 386i.  Problems I had to
  105.     overcome: kvm_nlist doesn't return 0 on success as advertised (it
  106.     returns 1 instead); the results of a kvm_nlist are different
  107.     (n_type can be zero even for a symbol that exists).
  108.  
  109.     Serious rearrangement for processor dependent stuff.  All nlists
  110.     are now in separate files with the suffix ".nlist".  Most machine
  111.     specific code is in "machine.c" surrounded by appropriate ifdefs---
  112.     the goal is to eventually have all machine specific code in this
  113.     file.  Managed to find a way to detect SunOS 4.x at compile-time:
  114.     this is contained in the include file "sun.h".  Completely changed
  115.     the memory display line for SunOS 4.x---it now displays a far
  116.     more appropriate report.
  117.  
  118.     Created the shell script "Configure" to aid in the configuration
  119.     step.
  120.  
  121.     Fixed a bug in init_termcap:  it will now tolerate an environment
  122.     which does not have TERM defined (thanks to Sam Horrocks for
  123.     pointing this out).
  124.  
  125. Tue Aug  9 1988 - wnl (2.5)
  126.     Added changes to make top work under version 4.0 of the Sun
  127.     operating system.  Changes were provided by Scott Alexander of the
  128.     University of Pennsylvania.  Thanks!  Compile with "-Dsunos4" to
  129.     get them.  Virtual memory statistics are not readily accessible
  130.     under 4.0, so they don't show up in the output.
  131.  
  132. Thu Jul 31 1987 - wnl (2.4)
  133.     Fixed a problem with the 4.0 Pyramid code.  The label "cp_time"
  134.     doesn't exist in the 4.0 kernel anymore.  I think the code Carl
  135.     sent me wants "percpu" instead.  That is what I am using and it
  136.     appears to work.  375 code is still untested (at least by me).
  137.     Also picked a great deal of lint out of the source.  Lint now only
  138.     complains about a very few nitpicky things (there are far too many
  139.     calls to "printf" to put a "(void)" in front of!), at least under
  140.     SunOS.
  141.  
  142. Tue Jul 28 1987 - wnl (2.4a)
  143.     Added changes for a Symmetrics Computer Systems s/375 machine.
  144.     Changes were provided by Paul Vixie.  Thanks!  According to Mr.
  145.     Vixie:  "These changes were not made at, by, or for SCS proper.
  146.     SCS would probably be interested in them, but so far only the
  147.     users' group has them.  They were made in February, 1987, to
  148.     version 2.1 of the program, by Paul Vixie
  149.     (dual!ptsfa!vixie!paul@ucbvax.Berkeley.EDU)."  His changes were
  150.     integrated into version 2.3 to make version 2.4.
  151.  
  152.     The SCS peculiarities are summarized in Changes.scs.
  153.  
  154. Tue Jun  9 1987 - wnl (2.3 for real)
  155.     Changed the includes for the extra code Carl sent me to only
  156.     compile on Version 4.0 Pyramid machines.  This makes top still
  157.     compilable on pre-4.0 Pyramids.  Specifically, this code is only
  158.     compiled when both "pyr" and "CPUFOUND" are defined.
  159.  
  160. Wed Jun  3 1987 - wnl (2.3 with Pyramid additions)
  161.     It's been a month and I still haven't done anything about
  162.     distributing this version.  However, Carl Gutekunst from Pyramid
  163.     has sent me some extra patches for some of the Pyramid code.  I
  164.     just added those and will make them part of 2.3.  This fixes the
  165.     following Pyramid problems:  adds the inclusion of <sys/systm.h>,
  166.     uses the correct size for getting the kernel value _ccpu (this bug
  167.     affected the Vax version as well), sums the elements of the percpu
  168.     array to calculate a cp_time value (for OSx 4.0).
  169.  
  170. Fri May  1 1987 - wnl (2.3)
  171.     I have finally finished all the changes for better support of
  172.     oddbal terminals.  Added the low-level routine "clear_eol" which
  173.     makes handling terminals without "ce" easy:  it uses spaces
  174.     instead.  All direct uses of "clear_line" outside of screen.c have
  175.     been changed to use this primitive.  A terminal with "os" is now
  176.     handled in such that all situations that need overwriting are
  177.     completely avoided (including several commands).  This required
  178.     some changes to the way commands are translated into action (in
  179.     "top.c").  Made several important changes to display.c to prevent
  180.     overflowing of any of the fields.  Specifically, more than 99
  181.     total processes and a cpu state that reaches 100%.  Had to make a
  182.     small change to two casts in top.c, because the Sun 3.2 compiler
  183.     was giving warnings on them.  Added the "-q" option which lets
  184.     root run top at a nice of -20 (in case he thinks he really needs it).
  185.  
  186. Tue Dec 30 1986 - wnl (2.2)
  187.     I think I fixed a bug reported by Julian Onions at Nottingham.
  188.     Occasionally, top will core dump when the sprintf in either
  189.     i_process or u_process overflows due to an exceptionally
  190.     unrealistic time value.  I think it highly unlikely that top can
  191.     get a bad proc structure (although I suppose it is possible), but
  192.     the process time is read from the user structure, and that can
  193.     sometimes be part garbage.  So, "get_ucpu" checks the value it
  194.     returns to make sure its formatted form will not overflow the
  195.     sprintf.  If this doesn't fix the bug, then more drastic measures
  196.     will be necessary.  I plan to make this version the official
  197.     "top 2.2".  [[ This version was never distributed very widely. ]]
  198.  
  199. Tue Dec  2 1986 - wnl (2.2c)
  200.     Added to top.c the notion of a "failed command".  When a command
  201.     produces a message (on the message line), an update does not
  202.     follow it.  Before, the message was written and a new display was
  203.     shown---purposefully not overwriting the message.  But the
  204.     improvements to handle overstriking terminals and terminals
  205.     without "ce" clear the screen before every display, which would
  206.     erase the message.  Now, the message is displayed and top waits
  207.     another full time interval before updating the display.  This
  208.     works much better all around.
  209.  
  210. Mon Nov 24 1986 - wnl (2.2b)
  211.     Created a new file, utils.c, and made appropriate changes to
  212.     Makefile.  This new file holds all utility functions that can and
  213.     may be used by more than one "module".  Improved i_memory and
  214.     u_memory (display.c) so that screen updates for the values
  215.     displayed are only changed when necessary.  Also made the line
  216.     look better:  the last fixes made for a rather ugly display.
  217.     Added the locally defined constant "LoadMax" and added code to
  218.     top.c to send the cursor home after a space command is entered if
  219.     the load average is higher than "LoadMax".  This provides visual
  220.     feedback on loaded systems.
  221.  
  222. Mon Nov  3 1986 - wnl (2.2a)
  223.     Widened the format for memory usage so that it can display 5
  224.     digits.  This makes that line look a little ugly---maybe I'll fix
  225.     that later.  Screen handling now understands "os" and a missing
  226.     "ce".  It treats them identically:  clear the screen between each
  227.     display.  Screen handling code now uses "cd" when appropriate
  228.     (i.e.:  when user has shortened the screen).  Made i_loadave clear
  229.     then screen and took out most of the explicit calls to "clear" in
  230.     top.c.  This method is cleaner, especially in conjunction with
  231.     "os" handling.  Added preprocessor variable "RANDOM_PW" for
  232.     systems that access the passwd file randomly (Sun's yp and 4.3).
  233.     With "RANDOM_PW" set, "getpwuid" is used instead of "getpwnam",
  234.     but uid->username mappings are still hashed internally (because
  235.     that is still faster than going to disk).
  236.  
  237. Mon Oct  6 1986 - wnl (2.1)
  238.     A bug with the kill command was pointed out by "dciem!tim"---
  239.     specifying a signal by name did not work correctly.  This bug has
  240.     been fixed with a simple change to commands.c.  Another bug made
  241.     the cpu state percentages incorrect the first time they were
  242.     displayed.  This bug has also been fixed (changed top.c).
  243.  
  244. Thu Sep  4 1986 - wnl (2.0, at last)
  245.     This is the version that will (hopefully) get released to the
  246.     world as top 2.0.
  247.     Added the "r" and "k" commands for renice and kill, respectively.
  248.     This required adding a way to handle system call errors, and the
  249.     addition of the "e" command.  Help screen and manual page were
  250.     changed to reflect this change.  Changed all "#ifdef SUN" directives
  251.     to "#ifdef sun", and changed all "#ifdef PYRAMID" directives to
  252.     "#ifdef pyr".  As much as I hate those choices of preprocessor
  253.     names (they too easily conflict with real variable names), it does
  254.     make automatic compilation possible---people don't have to change
  255.     the Makefile anymore for specific machines.  The manual page was
  256.     changed to automatically incorporate the defaults as set in the
  257.     Makefile (including an infinite value for TOPN) and the way the
  258.     manual page is generated by the Makefile was changed to make
  259.     maintenance of this information automatic.
  260.  
  261. Mon Jul 28 1986 - wnl (still pre 2.0)
  262.     Real close now.  I put in a new definition for the macro "pagetok"
  263.     that does an explicit shift of a constant expression involving
  264.     PGSHIFT.  Appropriate checks are made if PGSHIFT is to small.
  265.     "pagetok" is now used exclusively everywhere to convert kernel
  266.     clicks to kilobytes.  I added a full blown interactive mode with
  267.     the ability to change some of the runtime parameters (how many to
  268.     display, time delay, etc.) while top is running.  I also
  269.     incorporated a few ideas from the net:  control characters in the
  270.     command name are replaced with '?'; the '-S' option makes the
  271.     swapper and pager visible; options have been added to control the
  272.     number of displays produced (this makes it easier to make
  273.     performance snapshots with top).  I have also added the notion of
  274.     "infinite" values for number of processes and number of displays.
  275.     I fixed a long-standing bug in the uid to username mapping code
  276.     that was only aggravated on the pyramids:  it was an ill-defined
  277.     expression (akin to i = i++).  I tweaked the proc_compar routine
  278.     for qsort slightly so that stopped processes were more likely to
  279.     show up.  Manual page was updated to reflect all changes
  280.     noticeable to the user.
  281.  
  282. Tue Jul  1 1986 - wnl (pre 2.0 -- 1.9999?)
  283.     In the process of major revamping on the way to version 2.0.
  284.     I have completely done away with curses by adding my own screen
  285.     management routines in a separate file (screen.c).  The rationale
  286.     for this is that top knows a whole lot more about what is and is
  287.     not redundant on the screen and can compare simple integer values
  288.     where curses would have to compare strings.  This has turned out
  289.     to be a very big win speed-wise.  The proc_compar routine for
  290.     sorting has been rewritten to include several more keys.  I
  291.     decided this was necessary when I noticed that the "top" process
  292.     itself kept disappearing off the top 10 list on a Sun-3.  All the
  293.     processes had the same percentage (0%) and the sort wasn't really
  294.     doing anything worthwhile.  I changed the expression that computes
  295.     memory usage to use the ctob macro instead of just assuming that
  296.     pages were 512 bytes.  More work still needs to be done before
  297.     this version is usable.  I changed options-processing to use
  298.     getopt and added appropriate incantations to the Makefile.
  299.  
  300. Wed Feb 20 1985 - wnl (still 1.8)
  301.     Put in the ifdef FOUR_ONE statements to make top still compilable
  302.     on a 4.1 system.  Apparently, there are some users out there that
  303.     need this functionality.  Oh well.  I don't guarantee any of it,
  304.     since I can't test it.  Made appropriate changes to README and
  305.     final installation related changes to Makefile.
  306.  
  307. Sat Feb  2 1985 - wnl (1.8)
  308.     Removed all the ifdef FOUR_TWO statements and made "top" into a
  309.     4.2 only program.  If someone really wants to still run it on 4.1,
  310.     then they can do all the work.  We don't have a 4.1 machine
  311.     anymore, so I don't even know if the thing still works under 4.1.
  312.     Cleaned up the Makefile and the README.  Added installation rules
  313.     to the Makefile, as requested by several sites.  Fixed a very
  314.     obscure divide-by-zero bug.  Added a second "key" to the qsort
  315.     comparison function (proc_compar) so that comparisons are based on
  316.     cpu ticks if the percentages are equal (provided by Jonathon
  317.     Feiber at Sun).
  318.  
  319. Tue Dec 11 1984 - wnl (1.7)
  320.     Added the virtual and real memory status line to the header area
  321.     (provided by Jonathon Feiber at Sun)
  322.  
  323. Tue Nov 20 1984 - wnl (1.6)
  324.     Added an "exit" if sbrk's fail.  Added changes from Jonathon
  325.     Feiber at Sun:  ifdef SUN to make top work on Suns (they don't use
  326.     doubles in the proc structure), register declarations, check for
  327.     getting a user structure that has disappeared since the proc array
  328.     was read (it used to die, now it just shows the process as swapped).
  329.  
  330. Tue Nov 13 1984 - wnl (1.5)
  331.     If the number of displayable processes ("active_procs") was less
  332.     than the number of requested processes ("topn"), top would
  333.     segmentation fault.  This bug has been fixed.  Thanks to Prentiss
  334.     Riddle at ut-sally for pointing out the existence of this bug.
  335.  
  336. Tue Oct 23 1984 - wnl (1.4)
  337.     Finally fixed the hash table bug that caused processes owned by
  338.     root to sometimes appear with either no name or a different name
  339.     that had UID 0 (such as "operator").  Removed all the ifdef DEBUG
  340.     blocks to make top ready for distribution to the real world.
  341.  
  342. Sun Apr  8 1984 - wnl (still 1.3)
  343.     Made some slight changes to the display format.  It now looks more
  344.     aesthetically pleasing.  Added some preprocessor constants so that
  345.     the two defaults (number of processes and seconds of delay) easier
  346.     to change.
  347.  
  348. Thu Apr  5 1984 - wnl (1.3)
  349.     Changed the order in which things are done at initialization time.
  350.     This way, if an error occurs before starting the main loop, curses
  351.     will never get started.  Also changed other error handlers so that
  352.     endwin() is called before any flavor of exit.  Specifying a number
  353.     of processes that is more than the screen can handle is no longer
  354.     fatal.  It displays a warning message and pretends the user
  355.     specified the maximum for the screen.  Finally cured all the TSTP
  356.     blues (well, almost all).  I removed my TSTP handler and convinced
  357.     the system to always use the one that curses sets up.  Turns out
  358.     that "sleep" was stepping all over it during a pause.  So, I don't
  359.     use sleep anymore.  The only problem that remains with it now is
  360.     redrawing the old display before updating it after a pause.
  361.  
  362. Tue Apr  3 1984 - wnl (from 1.0 to 1.2)
  363.     I changed the format of the TIME column from just "seconds" to
  364.     "minutes:seconds".  I also made pausing work correctly.  Screen
  365.     redraws with an up to date display.  For compatibility with 4.2, I
  366.     changed the name of the "zero" function to "bzero".  The makefile
  367.     has been altered to handle versions for 4.1 and 4.2, and README
  368.     has been updated to reflect these recent changes.
  369.