[tracker/rss-enclosures] tracker-store: Fix previous two commits
- From: Roberto Guido <rguido src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/rss-enclosures] tracker-store: Fix previous two commits
- Date: Wed, 24 Nov 2010 02:22:52 +0000 (UTC)
commit dc5bac976e4cdd78754998812f2b6b19e109b503
Author: Philip Van Hoof <philip codeminded be>
Date: Wed Nov 3 17:57:38 2010 +0200
tracker-store: Fix previous two commits
src/tracker-store/tracker-store.c | 25 +++++++++++++------------
1 files changed, 13 insertions(+), 12 deletions(-)
---
diff --git a/src/tracker-store/tracker-store.c b/src/tracker-store/tracker-store.c
index ff7ef5b..fa763bd 100644
--- a/src/tracker-store/tracker-store.c
+++ b/src/tracker-store/tracker-store.c
@@ -155,7 +155,6 @@ sched (TrackerStorePrivate *private)
GQueue *queue;
TrackerStoreTask *task;
gint i;
- gboolean ran_one = FALSE;
if (!private->active) {
return;
@@ -182,8 +181,6 @@ sched (TrackerStorePrivate *private)
}
private->n_queries_running++;
-
- ran_one = TRUE;
g_thread_pool_push (private->query_pool, task, NULL);
}
@@ -197,16 +194,9 @@ sched (TrackerStorePrivate *private)
}
if (task != NULL) {
private->update_running = TRUE;
-
- ran_one = TRUE;
g_thread_pool_push (private->update_pool, task, NULL);
}
}
-
- if (!ran_one && private->active_callback) {
- private->active_callback (private->active_user_data);
- private->active_callback = NULL;
- }
}
static gboolean
@@ -298,7 +288,7 @@ task_finish_cb (gpointer data)
store_task_free (task);
- if (private->active_callback) {
+ if (private->n_queries_running == 0 && !private->update_running && private->active_callback) {
private->active_callback (private->active_user_data);
private->active_callback = NULL;
}
@@ -674,5 +664,16 @@ tracker_store_set_active (gboolean active,
private->active_user_data = user_data;
private->active = active;
- sched (private);
+ if (active == FALSE &&
+ private->n_queries_running == 0 &&
+ !private->update_running &&
+ private->active_callback)
+ {
+ private->active_callback (private->active_user_data);
+ private->active_callback = NULL;
+ }
+
+ if (active) {
+ sched (private);
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]