[Groonga-commit] groonga/groonga at cd175a0 [master] Stop to clear GRN_INTERRUPTTED_FUNCTION_CALL

Back to archive index

Kouhei Sutou null+****@clear*****
Wed Mar 9 17:17:25 JST 2016


Kouhei Sutou	2016-03-09 17:17:25 +0900 (Wed, 09 Mar 2016)

  New Revision: cd175a0e6761d2589d005c36873642de1f6cb304
  https://github.com/groonga/groonga/commit/cd175a0e6761d2589d005c36873642de1f6cb304

  Message:
    Stop to clear GRN_INTERRUPTTED_FUNCTION_CALL
    
    GRN_INTERRUPTTED_FUNCTION_CALL is set by request canceler. This change
    means that cancel request isn't cleared.
    
    If this change causes any problems, we'll revert this change.

  Modified files:
    lib/ctx.c
    lib/grn_ctx.h

  Modified: lib/ctx.c (+3 -1)
===================================================================
--- lib/ctx.c    2016-03-09 17:13:58 +0900 (43182f7)
+++ lib/ctx.c    2016-03-09 17:17:25 +0900 (0c8bff4)
@@ -1699,7 +1699,9 @@ grn_ctx_send(grn_ctx *ctx, const char *str, unsigned int str_len, int flags)
       }
       if (ctx->stat == GRN_CTX_QUITTING) { ctx->stat = GRN_CTX_QUIT; }
       if (ctx->impl->qe_next) {
-        ERRCLR(ctx);
+        if (ctx->rc != GRN_INTERRUPTED_FUNCTION_CALL) {
+          ERRCLR(ctx);
+        }
       } else {
         if (GRN_TEXT_LEN(&ctx->impl->current_request_id) > 0) {
           grn_obj *request_id = &ctx->impl->current_request_id;

  Modified: lib/grn_ctx.h (+3 -1)
===================================================================
--- lib/grn_ctx.h    2016-03-09 17:13:58 +0900 (8cf9681)
+++ lib/grn_ctx.h    2016-03-09 17:17:25 +0900 (7ac1efc)
@@ -45,7 +45,9 @@ extern "C" {
     (ctx)->subno++;\
   } else {\
     (ctx)->errlvl = GRN_OK;\
-    (ctx)->rc = GRN_SUCCESS;\
+    if ((ctx)->rc != GRN_INTERRUPTED_FUNCTION_CALL) {\
+      (ctx)->rc = GRN_SUCCESS;\
+    }\
     (ctx)->seqno++;\
   }\
   GRN_TEST_YIELD();\
-------------- next part --------------
HTML����������������������������...
Descargar 



More information about the Groonga-commit mailing list
Back to archive index