whip me, beat me, make me do UNIX terminal handling
This commit is contained in:
parent
0310505e6e
commit
89ccfbf4f8
4
NEWS
4
NEWS
@ -1,3 +1,7 @@
|
||||
procps-3.1.8 --> procps-3.1.9
|
||||
|
||||
top: fix suspend/resume behavior
|
||||
|
||||
procps-3.1.7 --> procps-3.1.8
|
||||
|
||||
top: fix keyboard handling (help screen, etc.)
|
||||
|
@ -443,7 +443,7 @@ static int compare_vm_table_structs(const void *a, const void *b){
|
||||
// see include/linux/page-flags.h and mm/page_alloc.c
|
||||
unsigned long vm_nr_dirty; // dirty writable pages
|
||||
unsigned long vm_nr_writeback; // pages under writeback
|
||||
unsigned long vm_nr_pagecache; // pages in pagecache
|
||||
unsigned long vm_nr_pagecache; // pages in pagecache -- gone in 2.5.66+ kernels
|
||||
unsigned long vm_nr_page_table_pages;// pages used for pagetables
|
||||
unsigned long vm_nr_reverse_maps; // includes PageDirect
|
||||
unsigned long vm_nr_mapped; // mapped into pagetables
|
||||
@ -479,7 +479,7 @@ void vminfo(void){
|
||||
{"nr_dirty", &vm_nr_dirty}, // page version of meminfo Dirty
|
||||
{"nr_mapped", &vm_nr_mapped}, // page version of meminfo Mapped
|
||||
{"nr_page_table_pages", &vm_nr_page_table_pages},// same as meminfo PageTables
|
||||
{"nr_pagecache", &vm_nr_pagecache},
|
||||
{"nr_pagecache", &vm_nr_pagecache}, // gone in 2.5.66+ kernels
|
||||
{"nr_reverse_maps", &vm_nr_reverse_maps}, // page version of meminfo ReverseMaps
|
||||
{"nr_slab", &vm_nr_slab}, // page version of meminfo Slab
|
||||
{"nr_writeback", &vm_nr_writeback}, // page version of meminfo Writeback
|
||||
|
@ -1,7 +1,7 @@
|
||||
Begin4
|
||||
Title: procps
|
||||
Version: 3.1.9
|
||||
Entered-date: 2003-03-20
|
||||
Entered-date: 2003-03-27
|
||||
Description: Linux system utilities
|
||||
Keywords: procps /proc libproc sysctl pmap ps uptime tload
|
||||
free w top vmstat watch skill snice kill pgrep pkill
|
||||
|
59
top.c
59
top.c
@ -3141,13 +3141,6 @@ static void framehlp (int wix, int max)
|
||||
* (the CURSOR is STUCK in just the RIGHT place, know what I)
|
||||
* (mean? Huh, "doesn't DO MUCH"! Never, EVER think or say)
|
||||
* (THAT about THIS function again, Ok? Good that's better.)
|
||||
*
|
||||
* (ps. we ARE the UNEQUALED justification KING of COMMENTS!)
|
||||
* (No, I don't mean significance/relevance, only alignment.)
|
||||
*
|
||||
* (What's that? Are you sure? Old main's REALLY GOOD too?)
|
||||
* (You say he even JUSTIFIES comments in his FUNCTION BODY?)
|
||||
* (Jeeze, how COULD I have known? That sob's NOT IN SCOPE!)
|
||||
*/
|
||||
static void frame_make (void)
|
||||
{
|
||||
@ -3196,30 +3189,10 @@ static void frame_make (void)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Darling, you DO look simply MARVELOUS -- have you been dieting?
|
||||
* Or maybe it's because YOU and WINDOWS seem such a HAPPY couple.
|
||||
*
|
||||
* Of course NO. Not THOSE deathly BLUE WINDOWS! I mean your 'A'
|
||||
* mode (alt display) windows. Yes, yes those completely OPTIONAL
|
||||
* ones. We ALL know you'd NEVER FORCE that interface on ANY user
|
||||
* - unlike You-Know-Who! Well I've got to run. But you're doing
|
||||
* it just SPLENDIDLY! You go right on doing it EXACTLY the SAME!
|
||||
*/
|
||||
int main (int dont_care_argc, char **argv)
|
||||
{
|
||||
(void)dont_care_argc;
|
||||
before(*argv);
|
||||
/*
|
||||
Ok, she's gone now. Don't you mind her, she means well but yes, she is
|
||||
a bit of a busy-body. Always playing the matchmaker role, trying to do
|
||||
away with unmarried windows and bachelors. So, back to business buddy!
|
||||
|
||||
You're hungry, you said? How'd you like a sandwich? No, no, no -- not
|
||||
the usual slopped together, hacked up illogic. I'm talkin' a carefully
|
||||
reasoned, artfully crafted, extremely capable, well behaved executable!
|
||||
|
||||
Well then, here, try THIS sandwich: */
|
||||
// +-------------+
|
||||
windows_stage1(); // top (sic) slice
|
||||
configs_read(); // > spread etc, <
|
||||
@ -3261,7 +3234,11 @@ int main (int dont_care_argc, char **argv)
|
||||
if(file_flags==-1) file_flags=0;
|
||||
fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK|file_flags);
|
||||
// check 1st, in case tv zeroed (by sig handler) before it got set
|
||||
if (chin(0, &c, 1) <= 0) select(1, &fs, NULL, NULL, &tv);
|
||||
if (chin(0, &c, 1) <= 0) {
|
||||
fcntl(STDIN_FILENO, F_SETFL, file_flags);
|
||||
select(1, &fs, NULL, NULL, &tv);
|
||||
}
|
||||
fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK|file_flags);
|
||||
if (chin(0, &c, 1) > 0) {
|
||||
fcntl(STDIN_FILENO, F_SETFL, file_flags);
|
||||
do_key((unsigned)c);
|
||||
@ -3271,31 +3248,5 @@ int main (int dont_care_argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
(listen before we return, aren't you sort of sad for old 'frame_make'?)
|
||||
(so, uh, why don't we just move this main guy to near the beginning of)
|
||||
(the C source file. then that poor old function would be sure to have)
|
||||
(at least a chance at scopin' us out, ya know what i mean? so what do)
|
||||
(ya think? all things considered, would that be a proper thing to do?)
|
||||
|
||||
Now there's an EXCELLENT idea! After all, SOME programmers DO code the
|
||||
main function ANY OLD PLACE they feel like. And in doing THAT, they're
|
||||
helping to keep those that FOLLOW out of mischief, busy HUNTING for the
|
||||
<bleepin'> thing. Further, by moving it we can contribute to PROTOTYPE
|
||||
PROLIFERATION for every function main calls. Don't you KNOW that those
|
||||
declarations OFTEN LINGER, usually long AFTER the REAL definitions have
|
||||
DISAPPEARED, since programs do evolve? Yep that's a GREAT idea you got
|
||||
there, NICE GOING! But, here's an opposing view: ANYONE who'd put main
|
||||
ANYWHERE such that its LOCATION cannot be REACHED with JUST 1 KEYSTROKE
|
||||
better turn in their Coding_Badge and Pocket_Protector then -- BE GONE!
|
||||
The main function has only ONE proper HOME: always the LAST function in
|
||||
that C Listing. End-of-Story, No-More-Discussion, so BE QUIET already!
|
||||
|
||||
\---------------------------------------------------------------------/
|
||||
Sheeesh, didn't that doofus know the return statement can't be executed
|
||||
or that we end via a caught signal? Oh Lordy, I is DROWNING in morons!
|
||||
They done REACHED clear up to my OUTER braces! We's surely DOOMED now!
|
||||
/---------------------------------------------------------------------\
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user