diff options
author | Max Romanov <max.romanov@nginx.com> | 2017-12-06 12:16:02 +0300 |
---|---|---|
committer | Max Romanov <max.romanov@nginx.com> | 2017-12-06 12:16:02 +0300 |
commit | d14c0774c7e6f372dfebcfcafdcac718b7e28789 (patch) | |
tree | 6111a740fb2d1898b0375a8f65235d3f319b160a /src/go/unit/nxt_go_run_ctx.h | |
parent | 0db4d2531648796a3447a409f05bd82bcc91ff9f (diff) | |
download | unit-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.h | 3 |
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; |