MReleaseWriteLock(&afs_bufferLock);
return 0;
}
+ MObtainWriteLock(&tb->lock,260);
+ MReleaseWriteLock(&afs_bufferLock);
+ tb->lockers++;
tfile = afs_CFileOpen(fid[0]);
sizep = (afs_int32 *)tfile;
if (page * AFS_BUFFER_PAGESIZE >= *sizep) {
dirp_Zap(tb->fid);
+ tb->lockers--;
+ MReleaseWriteLock(&tb->lock);
afs_CFileClose(tfile);
- MReleaseWriteLock(&afs_bufferLock);
return 0;
}
- MObtainWriteLock(&tb->lock,260);
- MReleaseWriteLock(&afs_bufferLock);
- tb->lockers++;
code = afs_CFileRead(tfile, tb->page * AFS_BUFFER_PAGESIZE,
tb->data, AFS_BUFFER_PAGESIZE);
afs_CFileClose(tfile);
nbuffers = 0;
timecounter = 1;
for(i=0;i<PHSIZE;i++) phTable[i] = 0;
- bzero((char *)&afs_bufferLock, sizeof(afs_lock_t));
+ memset((char *)&afs_bufferLock, 0, sizeof(afs_lock_t));
}
}