ObtainWriteLock(&logp->lock, 189);
if (--logp->setCount == 0) {
/* no more users -- free it (but keep log structure around) */
- afs_osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize);
#ifdef KERNEL_HAVE_PIN
unpin((char *)logp->datap, sizeof(afs_int32) * logp->logSize);
#endif
+ afs_osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize);
logp->firstUsed = logp->firstFree = 0;
logp->logElements = 0;
logp->datap = NULL;
logp->logElements = 0;
/* free and allocate a new one */
- afs_osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize);
#ifdef KERNEL_HAVE_PIN
unpin((char *)logp->datap, sizeof(afs_int32) * logp->logSize);
#endif
+ afs_osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize);
logp->datap =
(afs_int32 *) afs_osi_Alloc(sizeof(afs_int32) * logSize);
#ifdef KERNEL_HAVE_PIN
/* found the dude we want to remove */
*lpp = logp->nextp;
osi_FreeSmallSpace(logp->name);
- osi_FreeSmallSpace(logp->datap);
+#ifdef KERNEL_HAVE_PIN
+ unpin((char *)logp->datap, sizeof(afs_int32) * logp->logSize);
+#endif
+ afs_osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize);
osi_FreeSmallSpace(logp);
break; /* won't find it twice */
}
/* found the dude we want to remove */
*lpp = setp->nextp;
osi_FreeSmallSpace(setp->name);
- afs_osi_Free(setp->eventFlags, ICL_DEFAULTEVENTS);
#ifdef KERNEL_HAVE_PIN
unpin((char *)setp->eventFlags, ICL_DEFAULTEVENTS);
#endif
+ afs_osi_Free(setp->eventFlags, ICL_DEFAULTEVENTS);
for (i = 0; i < ICL_LOGSPERSET; i++) {
if ((tlp = setp->logs[i]))
afs_icl_LogReleNL(tlp);