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
|
procps-3.1.7 --> procps-3.1.8
|
||||||
|
|
||||||
top: fix keyboard handling (help screen, etc.)
|
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
|
// see include/linux/page-flags.h and mm/page_alloc.c
|
||||||
unsigned long vm_nr_dirty; // dirty writable pages
|
unsigned long vm_nr_dirty; // dirty writable pages
|
||||||
unsigned long vm_nr_writeback; // pages under writeback
|
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_page_table_pages;// pages used for pagetables
|
||||||
unsigned long vm_nr_reverse_maps; // includes PageDirect
|
unsigned long vm_nr_reverse_maps; // includes PageDirect
|
||||||
unsigned long vm_nr_mapped; // mapped into pagetables
|
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_dirty", &vm_nr_dirty}, // page version of meminfo Dirty
|
||||||
{"nr_mapped", &vm_nr_mapped}, // page version of meminfo Mapped
|
{"nr_mapped", &vm_nr_mapped}, // page version of meminfo Mapped
|
||||||
{"nr_page_table_pages", &vm_nr_page_table_pages},// same as meminfo PageTables
|
{"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_reverse_maps", &vm_nr_reverse_maps}, // page version of meminfo ReverseMaps
|
||||||
{"nr_slab", &vm_nr_slab}, // page version of meminfo Slab
|
{"nr_slab", &vm_nr_slab}, // page version of meminfo Slab
|
||||||
{"nr_writeback", &vm_nr_writeback}, // page version of meminfo Writeback
|
{"nr_writeback", &vm_nr_writeback}, // page version of meminfo Writeback
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Begin4
|
Begin4
|
||||||
Title: procps
|
Title: procps
|
||||||
Version: 3.1.9
|
Version: 3.1.9
|
||||||
Entered-date: 2003-03-20
|
Entered-date: 2003-03-27
|
||||||
Description: Linux system utilities
|
Description: Linux system utilities
|
||||||
Keywords: procps /proc libproc sysctl pmap ps uptime tload
|
Keywords: procps /proc libproc sysctl pmap ps uptime tload
|
||||||
free w top vmstat watch skill snice kill pgrep pkill
|
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)
|
* (the CURSOR is STUCK in just the RIGHT place, know what I)
|
||||||
* (mean? Huh, "doesn't DO MUCH"! Never, EVER think or say)
|
* (mean? Huh, "doesn't DO MUCH"! Never, EVER think or say)
|
||||||
* (THAT about THIS function again, Ok? Good that's better.)
|
* (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)
|
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)
|
int main (int dont_care_argc, char **argv)
|
||||||
{
|
{
|
||||||
(void)dont_care_argc;
|
(void)dont_care_argc;
|
||||||
before(*argv);
|
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
|
windows_stage1(); // top (sic) slice
|
||||||
configs_read(); // > spread etc, <
|
configs_read(); // > spread etc, <
|
||||||
@ -3261,7 +3234,11 @@ int main (int dont_care_argc, char **argv)
|
|||||||
if(file_flags==-1) file_flags=0;
|
if(file_flags==-1) file_flags=0;
|
||||||
fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK|file_flags);
|
fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK|file_flags);
|
||||||
// check 1st, in case tv zeroed (by sig handler) before it got set
|
// 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) {
|
if (chin(0, &c, 1) > 0) {
|
||||||
fcntl(STDIN_FILENO, F_SETFL, file_flags);
|
fcntl(STDIN_FILENO, F_SETFL, file_flags);
|
||||||
do_key((unsigned)c);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user