From e9e878a05665dc1f4dd238ead6c01c295879726c Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 7 Sep 2018 11:29:59 +0200 Subject: [PATCH] BUG/MINOR: http/threads: atomically increment the error snapshot ID Let's use an atomic increment for the error snapshot, as we'd rather not assign the same ID to two errors happening in parallel. It's very unlikely that it will ever happen though. This patch must be backported to 1.8 with the other one it relies on ("MINOR: thread: implement HA_ATOMIC_XADD()"). --- src/proto_http.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_http.c b/src/proto_http.c index 8ccbc2bcd5..cf759fbdd5 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -8053,7 +8053,7 @@ void http_capture_bad_message(struct proxy *proxy, struct error_snapshot *es, st memset(&es->src, 0, sizeof(es->src)); es->state = state; - es->ev_id = error_snapshot_id++; + es->ev_id = HA_ATOMIC_XADD(&error_snapshot_id, 1); es->b_flags = chn->flags; es->s_flags = s->flags; es->t_flags = s->txn->flags; -- 2.47.3