From: Derrick Brashear Date: Wed, 20 Oct 2004 08:41:29 +0000 (+0000) Subject: STABLE12-viced-callback-lock-host-during-multi-breakcallback-20041011 X-Git-Tag: openafs-stable-1_2_12~2 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=e8180a30e5cc547893cca4f65f4625f8a41ea1d4;p=packages%2Fo%2Fopenafs.git STABLE12-viced-callback-lock-host-during-multi-breakcallback-20041011 since it looks like CheckHost is using a gc'd client conn, this more or less has to be it. and don't deadlock. (cherry picked from commit d98a0af85d857f74ba8c50ae85f397a526822cb8) --- diff --git a/src/viced/callback.c b/src/viced/callback.c index 98c3521de..ff736600b 100644 --- a/src/viced/callback.c +++ b/src/viced/callback.c @@ -772,6 +772,7 @@ static void MultiBreakCallBack_r(cba, ncbas, afidp, xhost) if (!thishost || (thishost->hostFlags & HOSTDELETED)) { continue; } + rx_GetConnection(thishost->callback_rxcon); conns[j++] = thishost->callback_rxcon; #ifdef ADAPT_MTU @@ -842,8 +843,10 @@ static void MultiBreakCallBack_r(cba, ncbas, afidp, xhost) for (i=0; icallback_rxcon); h_Release_r(hp); + } } return ;