library: extend thread safety to more static variables

In the commit referenced below, a '__thread' attribute
was added to numerous static variables to protect them
from concurrent access conflicts with multi-threading.

Unfortunately, that patch did not go quite far enough.

So, this commit adds a few more '__thread' qualifiers.

Reference(s):
commit 23cfb71366

Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
Jim Warner 2021-10-22 00:00:00 -05:00 committed by Craig Small
parent b652c35f7f
commit d6e6722fd6
3 changed files with 5 additions and 5 deletions

View File

@ -60,7 +60,7 @@ typedef struct tty_map_node {
char name[16];
} tty_map_node;
static tty_map_node *tty_map = NULL;
static __thread tty_map_node *tty_map = NULL;
/* Load /proc/tty/drivers for device name mapping use. */
static void load_drivers(void){

View File

@ -38,7 +38,7 @@
static char ERRname[] = "?";
static struct pwbuf {
static __thread struct pwbuf {
struct pwbuf *next;
uid_t uid;
char name[P_G_SZ];
@ -67,7 +67,7 @@ char *pwcache_get_user(uid_t uid) {
return((*p)->name);
}
static struct grpbuf {
static __thread struct grpbuf {
struct grpbuf *next;
gid_t gid;
char name[P_G_SZ];

View File

@ -58,8 +58,8 @@ extern void __cyg_profile_func_enter(void*,void*);
// utility buffers of MAX_BUFSZ bytes each, available to
// any function following an openproc() call
static char *src_buffer,
*dst_buffer;
static __thread char *src_buffer,
*dst_buffer;
#define MAX_BUFSZ 1024*64*2
// dynamic 'utility' buffer support for file2str() calls