non port: sysutils/wmmemfree/files/patch-wmmemfree.c |
Number of commits found: 2 |
Wednesday, 26 Jul 2023
|
14:10 Alexey Dokuchaev (danfe)
sysutils/wmmemfree: modernize, unbreak, undeprecate the port (+)
When I ported this dockapp 20 years ago, it was not uncommon to
peek inside ``struct vmmeter'' and other kernel structures with
kvm_read(3) to obtain various data (e.g. page counters).
These interfaces had always been fragile and potentially unsafe
(due to sgid-to-kmem requirement), so let's switch to sysctl(3)
instead as it provides the same data via documented, stable API.
Address another problem while here: the dockapp tried to update
the window from the signal handler, and no Xlib function can be
safely called within a signal handler*. Do as advised and only
raise a "need update" flag upon receiving a signal, then gather
new data and redraw the window in the main loop. This approach,
however, cannot work without modifying process_events() because
of the blocking nature of XNextEvent(3) -- put another select(2)
call in front so it can relinquish control to the outer loop.
[*] http://www-h.eng.cam.ac.uk/help/tpl/graphics/X/signals.html
c8bcf96 |
Friday, 11 Apr 2003
|
10:28 fjoe
New port: wmmemfree
WMMemFree shows system memory usage. It runs as a dockapp for window
manager like WindowMaker or some other which supports dockapps. On
the top side you have your physical memory usage and on the bottom there
is your swap space usage.
Submitted by: Alexey Dokuchaev
|
Number of commits found: 2 |