summaryrefslogtreecommitdiffhomepage
path: root/go/nxt_cgo_lib.c
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2020-11-18 22:33:53 +0300
committerMax Romanov <max.romanov@nginx.com>2020-11-18 22:33:53 +0300
commitd26afcb481d97cd71db014b16bde44e807043a2b (patch)
tree4b5ea745e45773f4c42eb5ba2639f624f2737fa6 /go/nxt_cgo_lib.c
parent0ec69aa46e3577ef44060b9dd8576faab4a863ce (diff)
downloadunit-d26afcb481d97cd71db014b16bde44e807043a2b.tar.gz
unit-d26afcb481d97cd71db014b16bde44e807043a2b.tar.bz2
Libunit: fixing racing condition in request struct recycling.
The issue occurred under highly concurrent request load in Go applications. Such applications are multi-threaded but use a single libunit context; any thread-safe code in the libunit context is only required for Go applications. As a result of improper request state reset, the recycled request structure was recovered in the released state, so further operations with this request resulted in 'response already sent' warnings. However, the actual response was never delivered to the router and the client.
Diffstat (limited to 'go/nxt_cgo_lib.c')
0 files changed, 0 insertions, 0 deletions