]> arthur.barton.de Git - netatalk.git/commitdiff
Spotlight: fix for long running queries
authorRalph Boehme <rb@sernet.de>
Thu, 14 Aug 2014 15:29:00 +0000 (17:29 +0200)
committerRalph Boehme <rb@sernet.de>
Sun, 17 Aug 2014 08:56:46 +0000 (10:56 +0200)
Signed-off-by: Ralph Boehme <rb@sernet.de>
NEWS
etc/afpd/spotlight.c

diff --git a/NEWS b/NEWS
index 354af1108d880dcaeb828ba78da75a1f3fb4d55e..e24909a6238007e206035102d833eb6f377c9726 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,7 @@
+Changes in 3.1.6
+================
+* FIX: Spotlight: fix for long running queries
+
 Changes in 3.1.5
 ================
 * FIX: Spotlight: several important fixes
index 5404f9f8d1171914030d67caf1ad414e1e7ab386..8644d465d24e629c1aa956141af6ba8ab9c607d0 100644 (file)
@@ -709,7 +709,6 @@ static void tracker_query_cb(GObject      *object,
                              GAsyncResult *res,
                              gpointer      user_data)
 {
-    bool ok;
     GError *error = NULL;
     slq_t *slq = user_data;
 
@@ -736,13 +735,6 @@ static void tracker_query_cb(GObject      *object,
 
     slq->slq_state = SLQ_STATE_RESULTS;
 
-    ok = create_result_handle(slq);
-    if (!ok) {
-        LOG(log_error, logtype_sl, "create_result_handle error");
-        slq->slq_state = SLQ_STATE_ERROR;
-        return;
-    }
-
     tracker_sparql_cursor_next_async(slq->tracker_cursor,
                                      slq->slq_obj->sl_ctx->cancellable,
                                      tracker_cursor_cb,
@@ -824,6 +816,7 @@ static int sl_rpc_openQuery(AFPObj *obj,
     uint64_t result;
     gchar *sparql_query;
     GError *error = NULL;
+    bool ok;
 
     array = talloc_zero(reply, sl_array_t);
 
@@ -907,6 +900,14 @@ static int sl_rpc_openQuery(AFPObj *obj,
     }
 
     slq->slq_state = SLQ_STATE_RUNNING;
+
+    ok = create_result_handle(slq);
+    if (!ok) {
+        LOG(log_error, logtype_sl, "create_result_handle error");
+        slq->slq_state = SLQ_STATE_ERROR;
+        EC_FAIL;
+    }
+
     slq_add(slq);
 
 EC_CLEANUP: