From d14c0774c7e6f372dfebcfcafdcac718b7e28789 Mon Sep 17 00:00:00 2001 From: Max Romanov Date: Wed, 6 Dec 2017 12:16:02 +0300 Subject: Go: removing request registry. Passing unsafe.Pointers (void *) from Go to C is complicated by an attempt to make such pointers less unsafe. A straightforward optimization is to replace 'unsafe.Pointer' with 'uintptr' (thanks to Xin Huang for the idea: https://stackoverflow.com/a/44826533 ). As a result, request registry with mutex is gone. --- src/go/unit/nxt_go_run_ctx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/go/unit/nxt_go_run_ctx.c') diff --git a/src/go/unit/nxt_go_run_ctx.c b/src/go/unit/nxt_go_run_ctx.c index 902872ce..c5e41ee8 100644 --- a/src/go/unit/nxt_go_run_ctx.c +++ b/src/go/unit/nxt_go_run_ctx.c @@ -185,7 +185,7 @@ nxt_go_ctx_add_msg(nxt_go_run_ctx_t *ctx, nxt_port_msg_t *port_msg, size_t size) msg->start_offset = ctx->msg_last->start_offset; if (ctx->msg_last == &ctx->msg) { - msg->start_offset += ctx->r.body.preread_size; + msg->start_offset += ctx->request.body.preread_size; } else { msg->start_offset += ctx->msg_last->data_size; @@ -219,6 +219,8 @@ nxt_go_ctx_flush(nxt_go_run_ctx_t *ctx, int last) &ctx->wport_msg, sizeof(nxt_port_msg_t) + ctx->nwbuf * sizeof(nxt_port_mmap_msg_t), NULL, 0); + nxt_go_debug(" port send res = %d", rc); + ctx->nwbuf = 0; memset(&ctx->wbuf, 0, sizeof(ctx->wbuf)); -- cgit