svn commit: r184645 - head/usr.bin/vmstat

Giorgos Keramidas keramida at freebsd.org
Tue Nov 4 18:31:50 PST 2008


On Tue, 4 Nov 2008 22:30:07 +0200, Diomidis Spinellis <dds at aueb.gr> wrote:
>On Nov 4, 2008, at 8:02 PM, Giorgos Keramidas wrote:
>> Author: keramida (doc committer)
>> Date: Tue Nov  4 18:02:35 2008
>> New Revision: 184645
>> URL: http://svn.freebsd.org/changeset/base/184645
>>
>> Log:
>>   Repeat vmstat header after window.rows instead of a hardcoded 20.
>>
>>   Use ioctl() to get the window size in vmstat(8), and force a new
>>   header to be prepended to the output every time the current window
>>   size changes.  Change the number of lines before each header to the
>>   current lines of the terminal when the terminal is resized, so that
>>   the full terminal length can be used for output lines.
>>
>>   Inspired by:	svn change 175562 (same feature for iostat)
>>   Reviewed by:	ru (who fixed some of my bugs too)
>
> Thanks!  This functionality is generally useful and tricky to code in a
> correct way.  Should we perhaps package it in a library function,  so
> that all header-printing commands can benefit from it, without
> repeating the code?

That's what I thought when I had to write almost the same code a second
time.  Once is ok, twice is almost ok, but if we find it repeated all
over the place a library function would definitely be nice :)

One of the utilities that includes a similar `repeated output' mode that
I was planning to patch next is procstat(1).  Right now procstat prints
the header once, and then forgets about it.  When the header scrolls off
the terminal it's gone for good.

The code of procstat is quite different that vmstat and iostat though,
so I'll have to think a bit about the best way to make a library
function out of the header display code and link all three of them to
the same code.



More information about the svn-src-all mailing list