del: proper ordering of file db entry deletion
parent
298b5994ce
commit
1a9cc552a5
|
@ -1051,8 +1051,6 @@ static void apk_db_purge_pkg(struct apk_database *db,
|
|||
diri->dir->dirname,
|
||||
file->filename);
|
||||
|
||||
file->diri = NULL;
|
||||
|
||||
key = (struct apk_db_file_hash_key) {
|
||||
.dirname = APK_BLOB_STR(diri->dir->dirname),
|
||||
.filename = APK_BLOB_STR(file->filename),
|
||||
|
@ -1061,7 +1059,7 @@ static void apk_db_purge_pkg(struct apk_database *db,
|
|||
APK_BLOB_BUF(&key));
|
||||
unlink(name);
|
||||
__hlist_del(fc, &diri->owned_files.first);
|
||||
|
||||
file->diri = NULL;
|
||||
db->installed.stats.files--;
|
||||
}
|
||||
apk_db_diri_rmdir(diri);
|
||||
|
|
|
@ -100,9 +100,8 @@ void apk_hash_delete(struct apk_hash *h, apk_blob_t key)
|
|||
if (h->ops->compare_item(item, key) == 0) {
|
||||
hlist_del(pos, &h->buckets->item[hash]);
|
||||
h->ops->delete_item(item);
|
||||
return;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
hlist_for_each(pos, &h->buckets->item[hash]) {
|
||||
|
@ -111,7 +110,7 @@ void apk_hash_delete(struct apk_hash *h, apk_blob_t key)
|
|||
if (h->ops->compare(key, itemkey) == 0) {
|
||||
hlist_del(pos, &h->buckets->item[hash]);
|
||||
h->ops->delete_item(item);
|
||||
return;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue