From 1d11f8cfbbc1d991767e005e0ac2b1522d0f907e Mon Sep 17 00:00:00 2001 From: Max Romanov Date: Fri, 27 Oct 2017 11:05:22 +0300 Subject: [PATCH] Fixing Go program crash. Go request registration should be removed before C request memory freed. C request address used as a key in Go map. Freed memory can be instantly reused for other request and older request registration should removed at this point to avoid collisions. --- src/go/unit/request.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/go/unit/request.go b/src/go/unit/request.go index 75c06ef5..5af3db7b 100644 --- a/src/go/unit/request.go +++ b/src/go/unit/request.go @@ -107,10 +107,10 @@ func (r *request) response() *response { } func (r *request) done() { - C.nxt_go_request_done(r.c_req) - remove_request(r) + C.nxt_go_request_done(r.c_req) + for _, m := range r.msgs { m.Close() }