diff options
author | Philip Van Hoof <philip@codeminded.be> | 2011-02-10 10:06:00 +0100 |
---|---|---|
committer | Philip Van Hoof <philip@codeminded.be> | 2011-02-10 10:12:28 +0100 |
commit | 4c3e8c1b2492900bee67057a5b8ca3413e64961a (patch) | |
tree | 36d5fd814e93e64f27cf389da6a332e5fc453664 | |
parent | 1e1c73278160b5ec31b60f57457b6f8865677067 (diff) | |
download | tracker-4c3e8c1b2492900bee67057a5b8ca3413e64961a.tar.gz |
libtracker-data: Detect corruption before integrity_check at set of WAL
-rw-r--r-- | src/libtracker-data/tracker-db-manager.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c index 5f48d0ef2..d29083b69 100644 --- a/src/libtracker-data/tracker-db-manager.c +++ b/src/libtracker-data/tracker-db-manager.c @@ -1046,15 +1046,11 @@ tracker_db_manager_init (TrackerDBManagerFlags flags, dbs[i].iface = db_interface_create (i, &internal_error); if (internal_error) { - guint y; - - for (y = 1; y < i; y++) { - g_object_unref (dbs[y].iface); - dbs[y].iface = NULL; - } - - g_propagate_error (error, internal_error); - return FALSE; + /* If this already doesn't succeed, then surely the file is + * corrupt. No need to check for integrity anymore. */ + g_error_free (internal_error); + must_recreate = TRUE; + continue; } dbs[i].mtime = tracker_file_get_mtime (dbs[i].abs_filename); |