]> granicus.if.org Git - procps-ng/commitdiff
document #C to P change
authoralbert <>
Thu, 6 Jan 2005 00:49:09 +0000 (00:49 +0000)
committeralbert <>
Thu, 6 Jan 2005 00:49:09 +0000 (00:49 +0000)
top.1
top.c

diff --git a/top.1 b/top.1
index 20505631394c11b2658ac6f5e269ab8d2b42c26a..835bfca5986e76e4661ee8a2e746eebb39a0ab67 100644 (file)
--- a/top.1
+++ b/top.1
@@ -357,7 +357,7 @@ Zero in this field simply means priority will not be adjusted in determining a
 task's dispatchability.
 
 .TP 3
-j:\fB #C\fR \*(EM Last used \*(PU (SMP)
+j:\fB P\fR \*(EM Last used \*(PU (SMP)
 A number representing the last used processor.
 In a true SMP environment this will likely change frequently since the kernel
 intentionally uses weak affinity.
diff --git a/top.c b/top.c
index e23fe2c8bbdc6164b39a1cfc5a95731a0a7b46e7..65653394b88699fe412e42c8332de21785ae888b 100644 (file)
--- a/top.c
+++ b/top.c
@@ -3269,6 +3269,7 @@ int main (int dont_care_argc, char *argv[])
          select(0, NULL, NULL, NULL, &tv);  // ought to loop until done
       } else {
          long file_flags;
+         int rc;
          char c;
          fd_set fs;
          FD_ZERO(&fs);
@@ -3276,8 +3277,13 @@ int main (int dont_care_argc, char *argv[])
          file_flags = fcntl(STDIN_FILENO, F_GETFL);
          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) {
+         rc = chin(0, &c, 1);
+         if (rc <= 0) {
+            // EOF is pretty much a "can't happen" except for a kernel bug.
+            // We should quickly die via SIGHUP, and thus not spin here.
+            // if (rc == 0) end_pgm(0); /* EOF from terminal */
             fcntl(STDIN_FILENO, F_SETFL, file_flags);
             select(1, &fs, NULL, NULL, &tv);
             fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK|file_flags);