Rework CPU counting

Currently htop does not support offline CPUs and hot-swapping, e.g. via
    echo 0 > /sys/devices/system/cpu/cpu2/online

Split the current single cpuCount variable into activeCPUs and
existingCPUs.

Supersedes: #650
Related: #580
28 files changed
tree: 6e86813a332e93f7ee22b873d7522fa766b4af97
  1. .github/
  2. darwin/
  3. docs/
  4. dragonflybsd/
  5. freebsd/
  6. generic/
  7. iwyu/
  8. linux/
  9. netbsd/
  10. openbsd/
  11. pcp/
  12. scripts/
  13. solaris/
  14. unsupported/
  15. zfs/
  16. .editorconfig
  17. .gitignore
  18. .travis.yml
  19. Action.c
  20. Action.h
  21. Affinity.c
  22. Affinity.h
  23. AffinityPanel.c
  24. AffinityPanel.h
  25. AUTHORS
  26. autogen.sh
  27. AvailableColumnsPanel.c
  28. AvailableColumnsPanel.h
  29. AvailableMetersPanel.c
  30. AvailableMetersPanel.h
  31. BatteryMeter.c
  32. BatteryMeter.h
  33. CategoriesPanel.c
  34. CategoriesPanel.h
  35. ChangeLog
  36. ClockMeter.c
  37. ClockMeter.h
  38. ColorsPanel.c
  39. ColorsPanel.h
  40. ColumnsPanel.c
  41. ColumnsPanel.h
  42. CommandLine.c
  43. CommandLine.h
  44. CommandScreen.c
  45. CommandScreen.h
  46. Compat.c
  47. Compat.h
  48. configure.ac
  49. CONTRIBUTING.md
  50. COPYING
  51. CPUMeter.c
  52. CPUMeter.h
  53. CRT.c
  54. CRT.h
  55. DateMeter.c
  56. DateMeter.h
  57. DateTimeMeter.c
  58. DateTimeMeter.h
  59. DiskIOMeter.c
  60. DiskIOMeter.h
  61. DisplayOptionsPanel.c
  62. DisplayOptionsPanel.h
  63. DynamicMeter.c
  64. DynamicMeter.h
  65. EnvScreen.c
  66. EnvScreen.h
  67. FunctionBar.c
  68. FunctionBar.h
  69. Hashtable.c
  70. Hashtable.h
  71. Header.c
  72. Header.h
  73. HostnameMeter.c
  74. HostnameMeter.h
  75. htop.1.in
  76. htop.c
  77. htop.desktop
  78. htop.png
  79. htop.svg
  80. IncSet.c
  81. IncSet.h
  82. InfoScreen.c
  83. InfoScreen.h
  84. ListItem.c
  85. ListItem.h
  86. LoadAverageMeter.c
  87. LoadAverageMeter.h
  88. Macros.h
  89. MainPanel.c
  90. MainPanel.h
  91. Makefile.am
  92. MemoryMeter.c
  93. MemoryMeter.h
  94. Meter.c
  95. Meter.h
  96. MetersPanel.c
  97. MetersPanel.h
  98. NetworkIOMeter.c
  99. NetworkIOMeter.h
  100. NEWS
  101. Object.c
  102. Object.h
  103. OpenFilesScreen.c
  104. OpenFilesScreen.h
  105. OptionItem.c
  106. OptionItem.h
  107. Panel.c
  108. Panel.h
  109. pcp-htop.c
  110. Process.c
  111. Process.h
  112. ProcessList.c
  113. ProcessList.h
  114. ProcessLocksScreen.c
  115. ProcessLocksScreen.h
  116. ProvideCurses.h
  117. README
  118. RichString.c
  119. RichString.h
  120. ScreenManager.c
  121. ScreenManager.h
  122. Settings.c
  123. Settings.h
  124. SignalsPanel.c
  125. SignalsPanel.h
  126. SwapMeter.c
  127. SwapMeter.h
  128. SysArchMeter.c
  129. SysArchMeter.h
  130. TasksMeter.c
  131. TasksMeter.h
  132. test_spec.lua
  133. TESTPLAN
  134. TraceScreen.c
  135. TraceScreen.h
  136. UptimeMeter.c
  137. UptimeMeter.h
  138. UsersTable.c
  139. UsersTable.h
  140. Vector.c
  141. Vector.h
  142. XUtils.c
  143. XUtils.h