ubik: don't force an error just because calliter is early returning
authorDerrick Brashear <shadow@dementix.org>
Sat, 21 Jul 2012 04:27:49 +0000 (00:27 -0400)
committerDerrick Brashear <shadow@dementix.org>
Sun, 22 Jul 2012 12:22:21 +0000 (05:22 -0700)
in this case, racing another ClientInit caller is not fatal.
clean up from 56b5b9a1c51c2197923aa373c180a834edabe4f6 which was
my fault.

Change-Id: I81d3298a775ed46972779b4121498560883fee01
Reviewed-on: http://gerrit.openafs.org/7803
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

src/ubik/ubikclient.c

index dda1f35..dc1067f 100644 (file)
@@ -451,12 +451,9 @@ CallIter(int (*aproc) (), struct ubik_client *aclient,
     code =
        (*aproc) (tc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13,
                  p14, p15, p16);
-    if (aclient->initializationState != origLevel) {
+    if (aclient->initializationState != origLevel)
        /* somebody did a ubik_ClientInit */
-       if (code == 0)
-           code = UINTERNAL;   /* no more specific error was returned */
        goto errout;
-    }
 
     /* what should I do in case of UNOQUORUM ? */
     if (code < 0) {