Don't allocate and free buffer for every 'ProcessList_goThroughEntries' call on Darwin; Ignore error ENOMEM from sysctl(3) when getting process list on Darwin

Fix https://github.com/hishamhm/htop/issues/963/
2 files changed
tree: 87ebd9e5a4c18f4066942e2b1b073e0fc0d12bef
  1. .gitignore
  2. AUTHORS
  3. Action.c
  4. Action.h
  5. Affinity.c
  6. Affinity.h
  7. AffinityPanel.c
  8. AffinityPanel.h
  9. ArgScreen.c
  10. AvailableColumnsPanel.c
  11. AvailableColumnsPanel.h
  12. AvailableMetersPanel.c
  13. AvailableMetersPanel.h
  14. BatteryMeter.c
  15. BatteryMeter.h
  16. CONTRIBUTING.md
  17. COPYING
  18. CPUMeter.c
  19. CPUMeter.h
  20. CRT.c
  21. CRT.h
  22. CategoriesPanel.c
  23. CategoriesPanel.h
  24. ChangeLog
  25. CheckItem.c
  26. CheckItem.h
  27. ClockMeter.c
  28. ClockMeter.h
  29. ColorsPanel.c
  30. ColorsPanel.h
  31. ColumnsPanel.c
  32. ColumnsPanel.h
  33. ControlOptionsPanel.c
  34. DisplayOptionsPanel.c
  35. DisplayOptionsPanel.h
  36. EnvScreen.c
  37. EnvScreen.h
  38. FunctionBar.c
  39. FunctionBar.h
  40. Hashtable.c
  41. Hashtable.h
  42. Header.c
  43. Header.h
  44. HostnameMeter.c
  45. HostnameMeter.h
  46. IOUtils.c
  47. IncSet.c
  48. IncSet.h
  49. InfoScreen.c
  50. InfoScreen.h
  51. KStat.c
  52. KernelStackTraceScreen.c
  53. ListItem.c
  54. ListItem.h
  55. LoadAverageMeter.c
  56. LoadAverageMeter.h
  57. MainPanel.c
  58. MainPanel.h
  59. Makefile.am
  60. MemoryMeter.c
  61. MemoryMeter.h
  62. Meter.c
  63. Meter.h
  64. MetersPanel.c
  65. MetersPanel.h
  66. NEWS
  67. Object.c
  68. Object.h
  69. OpenFilesScreen.c
  70. OpenFilesScreen.h
  71. Panel.c
  72. Panel.h
  73. Process.c
  74. Process.h
  75. ProcessList.c
  76. ProcessList.h
  77. README
  78. RichString.c
  79. RichString.h
  80. ScreenManager.c
  81. ScreenManager.h
  82. Settings.c
  83. Settings.h
  84. SignalsPanel.c
  85. SignalsPanel.h
  86. StringUtils.c
  87. StringUtils.h
  88. SwapMeter.c
  89. SwapMeter.h
  90. TESTPLAN
  91. TasksMeter.c
  92. TasksMeter.h
  93. TraceScreen.c
  94. TraceScreen.h
  95. UptimeMeter.c
  96. UptimeMeter.h
  97. UsersTable.c
  98. UsersTable.h
  99. Vector.c
  100. Vector.h
  101. XAlloc.c
  102. XAlloc.h
  103. aix/
  104. autogen.sh
  105. bsd/
  106. configure.ac
  107. contrib/
  108. cygwin/
  109. darwin/
  110. dragonflybsd/
  111. dump-builtin-color-scheme.c
  112. freebsd/
  113. htop.1.in
  114. htop.c
  115. htop.desktop
  116. htop.h
  117. htop.png
  118. hurd/
  119. interix/
  120. linux/
  121. local-curses.h
  122. openbsd/
  123. scripts/
  124. solaris/
  125. test_spec.lua
  126. unsupported/
README.md

htop

The Rivoreo customized version, forked from commit 402e46bb82964366746b86d77eb5afa69c279539.

The original version made by Hisham Muhammad hisham@gobolinux.org is available at an archived git repository.

Changes from original version

  • System call tracing support via truss(1), which is available in many Unix-like systems
  • Support showing process name in addition to process command line
  • AIX support, by Calvin Buckley calvin@cmpct.info
  • Many Solaris-specific bug fixes
  • Support showing ZFS ARC size on Solaris-kernel-based, Linux-based, kFreeBSD-based and macOS (Mac OS X) platforms
  • Android/Linux support
  • Linux CPU hot-plugging aware
  • Distinguishable effective user and real user of processes
  • Basic Interix support
  • Cygwin support
  • Many OpenBSD-specific bug fixes
  • Thread processes support for OpenBSD
  • Solaris support without libproc(3LIB) (which is a private library of the operating system)
  • Many byte-order related bug fixes
  • Support kFreeBSD-based systems without kvm(3) (which isn't a standard library on GNU/kFreeBSD)
  • FreeBSD 5 support
  • Enhanced kernel process detection logic for Linux-based platforms
  • Build-time detection of available signals
  • Process command line arguments screen (key A) just like the process environment screen (key e)
  • Processor times meter improvements for OpenBSD, by Antoine Motet antoine.motet@gmail.com
  • (hopefully bug-free) vi(1)-style key bindings support
  • Support showing process start time for all platforms
  • Mouse support can now be disabled in setup
  • Handle circularized process tree(s) that may happening with some kernels
  • User-defined color schemes
  • Consistent process state names
  • Optional case-insensitive sorting
  • GNU/Hurd support
  • Kernel stack tracing of processes for Linux-based and kFreeBSD-based platforms

See the commit log for more.