From 431fc6465d32db324360e947bb55cf972e85cf84 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 10 Sep 2002 05:53:30 +0000 Subject: Fix some locking problems noted by Manuel. __getgrent() was always called under lock, but the callers did not share the same locks... -Erik --- libc/pwd_grp/fgetgrent.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'libc/pwd_grp/fgetgrent.c') diff --git a/libc/pwd_grp/fgetgrent.c b/libc/pwd_grp/fgetgrent.c index b99df1c77..2c7917601 100644 --- a/libc/pwd_grp/fgetgrent.c +++ b/libc/pwd_grp/fgetgrent.c @@ -24,13 +24,14 @@ #ifdef __UCLIBC_HAS_THREADS__ #include -static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER; -# define LOCK pthread_mutex_lock(&mylock) -# define UNLOCK pthread_mutex_unlock(&mylock); +extern pthread_mutex_t __getgrent_lock; +# define LOCK pthread_mutex_lock(&__getgrent_lock) +# define UNLOCK pthread_mutex_unlock(&__getgrent_lock); #else # define LOCK # define UNLOCK #endif + static char *line_buff = NULL; static char **members = NULL; -- cgit v1.2.3