summaryrefslogtreecommitdiffhomepage
path: root/src/go/unit/nxt_go_run_ctx.h
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2017-12-06 12:16:02 +0300
committerMax Romanov <max.romanov@nginx.com>2017-12-06 12:16:02 +0300
commitd14c0774c7e6f372dfebcfcafdcac718b7e28789 (patch)
tree6111a740fb2d1898b0375a8f65235d3f319b160a /src/go/unit/nxt_go_run_ctx.h
parent0db4d2531648796a3447a409f05bd82bcc91ff9f (diff)
downloadunit-d14c0774c7e6f372dfebcfcafdcac718b7e28789.tar.gz
unit-d14c0774c7e6f372dfebcfcafdcac718b7e28789.tar.bz2
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.
Diffstat (limited to 'src/go/unit/nxt_go_run_ctx.h')
-rw-r--r--src/go/unit/nxt_go_run_ctx.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/go/unit/nxt_go_run_ctx.h b/src/go/unit/nxt_go_run_ctx.h
index a5a972c6..f35b48de 100644
--- a/src/go/unit/nxt_go_run_ctx.h
+++ b/src/go/unit/nxt_go_run_ctx.h
@@ -47,7 +47,8 @@ typedef struct {
nxt_port_msg_t wport_msg;
char wmmap_msg_buf[ sizeof(nxt_port_mmap_msg_t) * 8 ];
- nxt_app_request_t r;
+ nxt_app_request_t request;
+ uintptr_t go_request;
nxt_go_msg_t *msg_last;
} nxt_go_run_ctx_t;