diff --git a/proc/devname.c b/proc/devname.c index 325877f9..de9d0bb7 100644 --- a/proc/devname.c +++ b/proc/devname.c @@ -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){ diff --git a/proc/pwcache.c b/proc/pwcache.c index db9b16ae..7baab1b2 100644 --- a/proc/pwcache.c +++ b/proc/pwcache.c @@ -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]; diff --git a/proc/readproc.c b/proc/readproc.c index edcd016b..27e4e381 100644 --- a/proc/readproc.c +++ b/proc/readproc.c @@ -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