From cfb7f205d8153899c0165594a29d91926a40425d Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Fri, 24 Feb 2012 12:21:46 -0500 Subject: [PATCH] Windows: cm_UpdateCell never applies to Freelance mode The Freelance.Local.Cell is updated by the registry monitor thread and cm_UpdateCell should be a no-op. Make it so. Change-Id: I2961114590af6b64b8ae06d608a97513e83aad4e Reviewed-on: http://gerrit.openafs.org/6791 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsd/cm_cell.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/WINNT/afsd/cm_cell.c b/src/WINNT/afsd/cm_cell.c index 4c8711b06..cf0448f3c 100644 --- a/src/WINNT/afsd/cm_cell.c +++ b/src/WINNT/afsd/cm_cell.c @@ -84,14 +84,19 @@ cm_cell_t *cm_UpdateCell(cm_cell_t * cp, afs_uint32 flags) lock_ObtainMutex(&cp->mx); mxheld = 1; - if ((cp->vlServersp == NULL + #ifdef AFS_FREELANCE_CLIENT - && !(cp->flags & CM_CELLFLAG_FREELANCE) + if (cp->flags & CM_CELLFLAG_FREELANCE) { + lock_ReleaseMutex(&cp->mx); + return cp; + } #endif - ) || (time(0) > cp->timeout) - || (cm_dnsEnabled && (cp->flags & CM_CELLFLAG_DNS) && - ((cp->flags & CM_CELLFLAG_VLSERVER_INVALID))) - ) + + if ((cp->vlServersp == NULL) || + (time(0) > cp->timeout) || + (cm_dnsEnabled && + (cp->flags & CM_CELLFLAG_DNS) && + ((cp->flags & CM_CELLFLAG_VLSERVER_INVALID)))) { lock_ReleaseMutex(&cp->mx); mxheld = 0; -- 2.39.5