quick fix to get cookie/permission file saving working on trunk again, while we hash out a real fix.

b=251648, r+sr=darin
This commit is contained in:
dwitte%stanford.edu 2004-07-16 20:08:08 +00:00
Родитель 554e0e99a4
Коммит a21bbd2099
2 изменённых файлов: 25 добавлений и 7 удалений

Просмотреть файл

@ -931,15 +931,24 @@ nsPermissionManager::Write()
}
delete[] hostList;
mChangedList = PR_FALSE;
// XXX hack for bug 251648, to avoid dataloss:
// flush the buffered stream's data first
rv = bufferedOutputStream->Flush();
// All went ok. Maybe except for problems in Write(), but the stream detects
// that for us
nsCOMPtr<nsISafeFileOutputStream> safeStream = do_QueryInterface(fileOutputStream);
if (safeStream)
safeStream->Finish();
if (NS_SUCCEEDED(rv) && safeStream)
rv = safeStream->Finish();
return NS_OK;
if (NS_FAILED(rv)) {
NS_WARNING("failed to save permissions file! possible dataloss");
return rv;
}
mChangedList = PR_FALSE;
return rv;
}
nsresult

Просмотреть файл

@ -1115,14 +1115,23 @@ nsCookieService::Write()
bufferedOutputStream->Write(kNew, sizeof(kNew) - 1, &rv);
}
// XXX hack for bug 251648, to avoid dataloss:
// flush the buffered stream's data first
rv = bufferedOutputStream->Flush();
// All went ok. Maybe except for problems in Write(), but the stream detects
// that for us
nsCOMPtr<nsISafeFileOutputStream> safeStream = do_QueryInterface(fileOutputStream);
if (safeStream)
safeStream->Finish();
if (NS_SUCCEEDED(rv) && safeStream)
rv = safeStream->Finish();
if (NS_FAILED(rv)) {
NS_WARNING("failed to save cookie file! possible dataloss");
return rv;
}
mCookieChanged = PR_FALSE;
return NS_OK;
return rv;
}
/******************************************************************************