procps/proc
Jim Warner 23cfb71366 library: ensure thread safety for all static variables
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 access the same api simultaneously, there is a good
chance some function-local static variables will yield
some of those renowned unpredictable results. So, this
patch protects them with the '__thread' storage class.

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 for all static variables 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 misc: Update Craig's email 2021-01-21 17:37:48 +11: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