]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
h-enum-r-avoid-extra-hold-20061008
authorDerrick Brashear <shadow@dementia.org>
Mon, 9 Oct 2006 04:15:45 +0000 (04:15 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 9 Oct 2006 04:15:45 +0000 (04:15 +0000)
FIXES 40699

avoid orphaning an extra hold

src/viced/host.c

index 55d440db8e3aa89fa863374f5a89fd3419030aba..14fe833b5060e35ea57b4c6e09badf788ce7d332 100644 (file)
@@ -1123,8 +1123,11 @@ h_Enumerate_r(int (*proc) (), struct host *enumstart, char *param)
        held = (*proc) (host, held, param);
        if (!H_ENUMERATE_ISSET_HELD(held))
            h_Release_r(host); /* this might free up the host */
-       if (H_ENUMERATE_ISSET_BAIL(held))
+       if (H_ENUMERATE_ISSET_BAIL(held)) {
+           if (!H_ENUMERATE_ISSET_HELD(nheld))
+               h_Release_r(next); /* this might free up the host */
            break;
+       }
     }
 }                              /*h_Enumerate_r */