procps/proc
Jim Warner ca30741a30 library: ensure thread safety via function substitutes
Even though we we had to abandon the master branch top
multi-thread effort and even though the newlib version
of a multi-threaded top provides no real benefit, that
whole exercise was not wasted. Rather, it has revealed
some deficiencies in our library which this addresses.

If two or more threads in the same address space tried
to use procps_loadavg or procps_uptime simultaneously,
there's a chance they would experience problems due to
thread-unsafe functions our library called internally.

So, this patch switches them for thread-safe versions.

[ along the way we will also make that procps_uptime ]
[ initialization of his 'up' & 'idle' variables mean ]
[ something by delaying the -ERANGE return a little. ]

Reference(s):
https://www.freelists.org/post/procps/a-few-more-patches,7

Signed-off-by: Jim Warner <james.warner@comcast.net>
2021-10-02 12:55:31 +10:00
..
.gitignore build-sys: added a 'test_Itemtables' to testing scheme 2020-08-17 21:49:14 +10:00
COPYING miscellaneous: clean up trailing whitespace once again 2013-04-07 18:05:01 +10:00
devname.c library: ensure thread safety for all static variables 2021-10-02 12:55:31 +10:00
devname.h library: eliminate inappropriate '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
diskstats.c library: normalized 'extents_free_all' use across APIs 2021-02-18 18:35:32 +11:00
diskstats.h library: update those source files for copyright dates 2021-02-09 16:40:52 +11:00
escape.c library: ensure thread safety for all static variables 2021-10-02 12:55:31 +10:00
escape.h library: refactor 'escape' logic for newlib essentials 2020-12-29 08:48:23 +11:00
libproc-2.pc.in library: Rename to libproc-2 2021-02-20 22:30:31 +11:00
libproc-2.sym library: Rename to libproc-2 2021-02-20 22:30:31 +11:00
meminfo.c library: ensure thread safety for all static variables 2021-10-02 12:55:31 +10:00
meminfo.h library: update those source files for copyright dates 2021-02-09 16:40:52 +11:00
misc.h misc: Update Craig's email 2021-01-21 17:37:48 +11:00
namespace.c all: make buildable again for new 'misc.h' header file 2021-01-21 17:30:25 +11:00
numa.c library: set stage for NUMA node field display support 2017-05-22 21:38:10 +10:00
numa.h library: eliminate inappropriate '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
pids.c library: ensure thread safety for all static variables 2021-10-02 12:55:31 +10:00
pids.h library: repair <pids> api boo-boo in the 'select' i/f 2021-08-09 22:03:23 +10:00
procps-private.h library: eliminate unused 'FUNCTION' in private header 2020-09-13 10:00:49 +10:00
pwcache.c library: eliminate all dependencies on alloc.h/alloc.c 2017-12-20 21:18:53 +11:00
pwcache.h library: eliminate inappropriate '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
readproc.c library: ensure thread safety for all static variables 2021-10-02 12:55:31 +10:00
readproc.h library: add provision for displaying autogroup values 2021-08-09 22:00:23 +10:00
slabinfo.c library: ensure thread safety for all static variables 2021-10-02 12:55:31 +10:00
slabinfo.h library: update those source files for copyright dates 2021-02-09 16:40:52 +11:00
stat.c library: ensure thread safety for all static variables 2021-10-02 12:55:31 +10:00
stat.h library: update those source files for copyright dates 2021-02-09 16:40:52 +11:00
sysinfo.c library: ensure thread safety via function substitutes 2021-10-02 12:55:31 +10:00
test_Itemtables.c build-sys: proper fix for the 'test_Itemtables' module 2020-08-18 10:19:53 +10:00
test_namespace.c all: make buildable again for new 'misc.h' header file 2021-01-21 17:30:25 +11:00
test_pids.c testsuite: Correct include 2020-07-05 21:18:36 +10:00
test_sysinfo.c all: make buildable again for new 'misc.h' header file 2021-01-21 17:30:25 +11:00
test_uptime.c misc: Update Craig's email 2021-01-21 17:37:48 +11:00
test_version.c misc: Update Craig's email 2021-01-21 17:37:48 +11:00
uptime.c library: ensure thread safety via function substitutes 2021-10-02 12:55:31 +10:00
version.c misc: Update Craig's email 2021-01-21 17:37:48 +11:00
vmstat.c library: ensure thread safety for all static variables 2021-10-02 12:55:31 +10:00
vmstat.h library: update those source files for copyright dates 2021-02-09 16:40:52 +11:00
wchan.c library: ensure thread safety for all static variables 2021-10-02 12:55:31 +10:00
wchan.h library: standardize 'pointer-to-thing' whitespace use 2021-07-27 21:17:18 +10:00
xtra-procps-debug.h library: ensure 'XTRA_PROCPS_DEBUG' works in real life 2020-07-29 19:01:50 +10:00