diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2018-09-22 22:53:24 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2018-09-26 14:06:56 +0200 |
commit | a60c66a3bd1882f937cb51bf78814de1707eab49 (patch) | |
tree | dc67febe9e89f8659bc6cc2ab81ca7192fa459bd | |
parent | f7e4ea51a9a62e0cddac1a9407b5a6f9a91545f4 (diff) | |
download | tracker-a60c66a3bd1882f937cb51bf78814de1707eab49.tar.gz |
tracker-store: Destroy the direct connection on exit
And let it shut down the internal data manager. Fixes possible crashes
as the TrackerDirectConnection is not disposed and there may be other
internal threads trying to access the TrackerDataManager after shutdown.
-rw-r--r-- | src/libtracker-direct/tracker-direct.c | 2 | ||||
-rw-r--r-- | src/tracker-store/tracker-main.vala | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/libtracker-direct/tracker-direct.c b/src/libtracker-direct/tracker-direct.c index 326906e44..7a26f2064 100644 --- a/src/libtracker-direct/tracker-direct.c +++ b/src/libtracker-direct/tracker-direct.c @@ -399,6 +399,8 @@ tracker_direct_connection_finalize (GObject *object) tracker_db_interface_sqlite_wal_checkpoint (wal_iface, TRUE, NULL); } + tracker_data_manager_shutdown (priv->data_manager); + g_clear_object (&priv->store); g_clear_object (&priv->journal); g_clear_object (&priv->ontology); diff --git a/src/tracker-store/tracker-main.vala b/src/tracker-store/tracker-main.vala index 5ad40892b..35eafb212 100644 --- a/src/tracker-store/tracker-main.vala +++ b/src/tracker-store/tracker-main.vala @@ -342,8 +342,8 @@ License which can be viewed at: Tracker.Writeback.shutdown (); Tracker.Events.shutdown (); - data_manager.shutdown (); data_manager = null; + connection = null; Tracker.DBus.shutdown (); Tracker.Log.shutdown (); |