diff --git a/src/core/lib/support/mpscq.c b/src/core/lib/support/mpscq.c index cdd6335f82b2f9dae5137e097809adceafe5bc40..5b9323275aa49825b7858e78167ab0180b89f512 100644 --- a/src/core/lib/support/mpscq.c +++ b/src/core/lib/support/mpscq.c @@ -50,7 +50,7 @@ void gpr_mpscq_push(gpr_mpscq *q, gpr_mpscq_node *n) { gpr_atm_no_barrier_store(&n->next, (gpr_atm)NULL); gpr_mpscq_node *prev = (gpr_mpscq_node *)gpr_atm_full_xchg(&q->head, (gpr_atm)n); - gpr_atm_no_barrier_store(&prev->next, (gpr_atm)n); + gpr_atm_rel_store(&prev->next, (gpr_atm)n); } gpr_mpscq_node *gpr_mpscq_pop(gpr_mpscq *q) {