cellconfig-unlock-mutex-on-error-20030422
authorDerrick Brashear <shadow@dementia.org>
Tue, 22 Apr 2003 06:25:50 +0000 (06:25 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 22 Apr 2003 06:25:50 +0000 (06:25 +0000)
clean up my own mess (i bet).
certain error cases weren't being cleaned up properly before we returned

src/auth/cellconfig.c

index ba15482..2a302a0 100644 (file)
@@ -784,7 +784,7 @@ int afsconf_GetAfsdbInfo(char *acellName, char *aservice,
     if (aservice) {
         LOCK_GLOBAL_MUTEX
         tservice = afsconf_FindService(aservice);
-     UNLOCK_GLOBAL_MUTEX
+       UNLOCK_GLOBAL_MUTEX
         if (tservice < 0) {
             return AFSCONF_NOTFOUND;  /* service not found */
      }
@@ -1020,8 +1020,10 @@ int afsconf_GetKeys(struct afsconf_dir *adir, 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;
@@ -1040,8 +1042,10 @@ afs_int32 afsconf_GetLatestKey(struct afsconf_dir *adir,
     
     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 */
@@ -1073,8 +1077,10 @@ int afsconf_GetKey(struct afsconf_dir *adir, afs_int32 avno,
 
     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<maxa;i++,tk++) {