lock_ObtainMutex(&cm_Freelance_Lock);
scp->length.LowPart = strlen(mp)+4;
- scp->mountPointStringp=malloc(strlen(mp));
+ scp->mountPointStringp=malloc(strlen(mp)+1);
strcpy(scp->mountPointStringp,mp);
lock_ReleaseMutex(&cm_Freelance_Lock);
/* wait here, then try again */
osi_Log1(afsd_logp, "CM SyncOp sleeping scp %x", (long) scp);
+ if ( scp->flags & CM_SCACHEFLAG_WAITING )
+ osi_Log1(afsd_logp, "CM SyncOp CM_SCACHEFLAG_WAITING already set for 0x%x", scp);
scp->flags |= CM_SCACHEFLAG_WAITING;
if (bufLocked) lock_ReleaseMutex(&bufp->mx);
- osi_SleepM((long) &scp->flags, &scp->mx);
- osi_Log0(afsd_logp, "CM SyncOp woke!");
- if (bufLocked) lock_ObtainMutex(&bufp->mx);
- lock_ObtainMutex(&scp->mx);
+ osi_SleepM((long) &scp->flags, &scp->mx);
+ osi_Log0(afsd_logp, "CM SyncOp woke!");
+ if (bufLocked) lock_ObtainMutex(&bufp->mx);
+ lock_ObtainMutex(&scp->mx);
} /* big while loop */
/* now, update the recorded state for RPC-type calls */