From 2c5431839978586309734b1a56667cd17c86ad7a Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Thu, 15 May 2003 16:52:25 +0000 Subject: [PATCH] STABLE12-cellconfig-unlock-mutex-on-error-20030422 clean up my own mess (i bet). certain error cases weren't being cleaned up properly before we returned (cherry picked from commit 5cebfdc757655ba0762b3edd5d9dbdd3dc5f25dd) --- src/auth/cellconfig.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/auth/cellconfig.c b/src/auth/cellconfig.c index 5b2c5fb9c..3633b6433 100644 --- a/src/auth/cellconfig.c +++ b/src/auth/cellconfig.c @@ -785,7 +785,7 @@ int afsconf_GetAfsdbInfo(acellName, aservice, acellInfo) if (aservice) { LOCK_GLOBAL_MUTEX tservice = afsconf_FindService(aservice); - UNLOCK_GLOBAL_MUTEX + UNLOCK_GLOBAL_MUTEX if (tservice < 0) { return AFSCONF_NOTFOUND; /* service not found */ } @@ -1023,8 +1023,10 @@ struct afsconf_keys *astr; LOCK_GLOBAL_MUTEX code = afsconf_Check(adir); - if (code) + if (code) { + UNLOCK_GLOBAL_MUTEX return AFSCONF_FAILURE; + } memcpy(astr, adir->keystr, sizeof(struct afsconf_keys)); UNLOCK_GLOBAL_MUTEX return 0; @@ -1045,8 +1047,10 @@ afs_int32 afsconf_GetLatestKey(adir, avno, akey) LOCK_GLOBAL_MUTEX code = afsconf_Check(adir); - if (code) + if (code) { + UNLOCK_GLOBAL_MUTEX return AFSCONF_FAILURE; + } maxa = adir->keystr->nkeys; best = -1; /* highest kvno we've seen yet */ @@ -1080,8 +1084,10 @@ char *akey; LOCK_GLOBAL_MUTEX code = afsconf_Check(adir); - if (code) + if (code) { + UNLOCK_GLOBAL_MUTEX return AFSCONF_FAILURE; + } maxa = adir->keystr->nkeys; for(tk = adir->keystr->key,i=0;i