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 23cfb7136636f2d522b31417892de79b011ad3e4 Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
parent
b652c35f7f
commit
d6e6722fd6
@ -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){
|
||||
|
@ -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];
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user