fixes bug 265028 "Clearing cache sometimes fails" patch by alfredkayser@nl.ibm.com, r+sr=darin
git-svn-id: svn://10.0.0.236/trunk@179388 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
5a8b872830
commit
7d3dad4dfb
@ -851,6 +851,8 @@ nsresult
|
||||
nsDiskCacheStreamIO::SetEOF()
|
||||
{
|
||||
nsresult rv;
|
||||
PRBool needToCloseFD = PR_FALSE;
|
||||
|
||||
NS_ASSERTION(mStreamPos <= mStreamEnd, "bad stream");
|
||||
if (!mBinding) return NS_ERROR_NOT_AVAILABLE;
|
||||
|
||||
@ -860,6 +862,7 @@ nsDiskCacheStreamIO::SetEOF()
|
||||
// we need an mFD, we better open it now
|
||||
rv = OpenCacheFile(PR_RDWR | PR_CREATE_FILE, &mFD);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
needToCloseFD = PR_TRUE;
|
||||
}
|
||||
} else {
|
||||
// data in cache block files
|
||||
@ -893,6 +896,10 @@ nsDiskCacheStreamIO::SetEOF()
|
||||
|
||||
if (mFD) {
|
||||
UpdateFileSize();
|
||||
if (needToCloseFD) {
|
||||
(void) PR_Close(mFD);
|
||||
mFD = nsnull;
|
||||
}
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user