Don't write ram flags to disk (causes internal error).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10297 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Miika Pekkarinen 2006-07-23 17:31:35 +00:00
parent 8eba20aefe
commit 4f93b30192

View file

@ -460,6 +460,9 @@ static bool write_index(int masterfd, int idxid, struct index_entry *idx)
memcpy(&hdr->indices[idxid], idx, sizeof(struct index_entry)); memcpy(&hdr->indices[idxid], idx, sizeof(struct index_entry));
#endif #endif
/* We need to exclude all memory only flags when writing on disk. */
idx->flag = idx->flag & ~(FLAG_DIRCACHE);
lseek(masterfd, idxid * sizeof(struct index_entry) lseek(masterfd, idxid * sizeof(struct index_entry)
+ sizeof(struct master_header), SEEK_SET); + sizeof(struct master_header), SEEK_SET);
if (write(masterfd, idx, sizeof(struct index_entry)) != if (write(masterfd, idx, sizeof(struct index_entry)) !=
@ -3104,7 +3107,12 @@ static void load_ramcache(void)
stat.ramcache = load_tagcache(); stat.ramcache = load_tagcache();
if (!stat.ramcache) if (!stat.ramcache)
{
/* If loading failed, it must indicate some problem with the db
* so disable it entirely to prevent further issues. */
stat.ready = false;
hdr = NULL; hdr = NULL;
}
cpu_boost(false); cpu_boost(false);
} }