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];
|
char name[16];
|
||||||
} tty_map_node;
|
} 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. */
|
/* Load /proc/tty/drivers for device name mapping use. */
|
||||||
static void load_drivers(void){
|
static void load_drivers(void){
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
static char ERRname[] = "?";
|
static char ERRname[] = "?";
|
||||||
|
|
||||||
static struct pwbuf {
|
static __thread struct pwbuf {
|
||||||
struct pwbuf *next;
|
struct pwbuf *next;
|
||||||
uid_t uid;
|
uid_t uid;
|
||||||
char name[P_G_SZ];
|
char name[P_G_SZ];
|
||||||
@ -67,7 +67,7 @@ char *pwcache_get_user(uid_t uid) {
|
|||||||
return((*p)->name);
|
return((*p)->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct grpbuf {
|
static __thread struct grpbuf {
|
||||||
struct grpbuf *next;
|
struct grpbuf *next;
|
||||||
gid_t gid;
|
gid_t gid;
|
||||||
char name[P_G_SZ];
|
char name[P_G_SZ];
|
||||||
|
@ -58,7 +58,7 @@ extern void __cyg_profile_func_enter(void*,void*);
|
|||||||
|
|
||||||
// utility buffers of MAX_BUFSZ bytes each, available to
|
// utility buffers of MAX_BUFSZ bytes each, available to
|
||||||
// any function following an openproc() call
|
// any function following an openproc() call
|
||||||
static char *src_buffer,
|
static __thread char *src_buffer,
|
||||||
*dst_buffer;
|
*dst_buffer;
|
||||||
#define MAX_BUFSZ 1024*64*2
|
#define MAX_BUFSZ 1024*64*2
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user