Kouhei Sutou
null+****@clear*****
Sun Apr 3 00:49:05 JST 2016
Kouhei Sutou 2016-04-03 00:49:05 +0900 (Sun, 03 Apr 2016) New Revision: f1fc612832916cbfde69520469e5e7554e3ffa66 https://github.com/groonga/groonga/commit/f1fc612832916cbfde69520469e5e7554e3ffa66 Message: groonga-http: stop to quit canceled ctx Modified files: lib/request_canceler.c src/groonga.c Modified: lib/request_canceler.c (+0 -1) =================================================================== --- lib/request_canceler.c 2016-04-03 00:48:28 +0900 (09084e9) +++ lib/request_canceler.c 2016-04-03 00:49:05 +0900 (dade736) @@ -101,7 +101,6 @@ grn_request_canceler_cancel_entry(grn_request_canceler_entry *entry) { if (entry->ctx->rc == GRN_SUCCESS) { entry->ctx->rc = GRN_CANCEL; - entry->ctx->stat = GRN_CTX_QUIT; return GRN_TRUE; } else { return GRN_FALSE; Modified: src/groonga.c (+6 -1) =================================================================== --- src/groonga.c 2016-04-03 00:48:28 +0900 (d5c9033) +++ src/groonga.c 2016-04-03 00:49:05 +0900 (a209136) @@ -2157,9 +2157,11 @@ h_worker(void *arg) GRN_LOG(&grn_gctx, GRN_LOG_NOTICE, "thread start (%d/%d)", n_floating_threads, n_running_threads); while (n_running_threads <= max_n_floating_threads && - ctx->stat != GRN_CTX_QUIT && grn_gctx.stat != GRN_CTX_QUIT) { grn_obj *msg; + if (ctx->rc == GRN_CANCEL) { + ctx->rc = GRN_SUCCESS; + } n_floating_threads++; while (!(msg = (grn_obj *)grn_com_queue_deque(&grn_gctx, &ctx_new))) { COND_WAIT(q_cond, q_mutex); @@ -2283,6 +2285,9 @@ g_worker(void *arg) case GRN_COM_PROTO_GQTP : grn_ctx_send(ctx, GRN_BULK_HEAD(msg), GRN_BULK_VSIZE(msg), header->flags); ERRCLR(ctx); + if (ctx->rc == GRN_CANCEL) { + ctx->rc = GRN_SUCCESS; + } break; default : ctx->stat = GRN_CTX_QUIT; -------------- next part -------------- HTML����������������������������...Download