From: Willy Tarreau Date: Fri, 7 Sep 2018 09:29:59 +0000 (+0200) Subject: BUG/MINOR: http/threads: atomically increment the error snapshot ID X-Git-Tag: v1.9-dev2~73 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e9e878a05665dc1f4dd238ead6c01c295879726c;p=thirdparty%2Fhaproxy.git 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()"). --- 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;