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.
This commit is contained in:
@@ -107,10 +107,10 @@ func (r *request) response() *response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *request) done() {
|
func (r *request) done() {
|
||||||
C.nxt_go_request_done(r.c_req)
|
|
||||||
|
|
||||||
remove_request(r)
|
remove_request(r)
|
||||||
|
|
||||||
|
C.nxt_go_request_done(r.c_req)
|
||||||
|
|
||||||
for _, m := range r.msgs {
|
for _, m := range r.msgs {
|
||||||
m.Close()
|
m.Close()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user