MT#55283 use relaxed ordered atomics

Change-Id: I17dbebf129412b077c3edbabe800a5ae49d0bb85
pull/1910/head
Richard Fuchs 10 months ago
parent dcc816dd07
commit bf10ace2f3

@ -352,7 +352,7 @@ static void __handler_shutdown(struct codec_handler *handler) {
codec_handler_free(&handler->dtmf_injector);
if (handler->stats_entry) {
g_atomic_int_add(&handler->stats_entry->num_transcoders, -1);
__atomic_fetch_add(&handler->stats_entry->num_transcoders, -1, __ATOMIC_RELAXED);
handler->stats_entry = NULL;
g_free(handler->stats_chain);
}
@ -523,7 +523,7 @@ reset:
handler->stats_entry = stats_entry;
mutex_unlock(&rtpe_codec_stats_lock);
g_atomic_int_inc(&stats_entry->num_transcoders);
__atomic_fetch_add(&stats_entry->num_transcoders, 1, __ATOMIC_RELAXED);
ssrc_hash_foreach(handler->media->monologue->ssrc_hash, __reset_sequencer, NULL);
@ -814,7 +814,7 @@ static struct codec_handler *__get_pt_handler(struct call_media *receiver, rtp_p
t_hash_table_remove(receiver->codec_handlers, handler);
__handler_shutdown(handler);
handler = NULL;
g_atomic_pointer_set(&receiver->codec_handler_cache, NULL);
__atomic_store_n(&receiver->codec_handler_cache, NULL, __ATOMIC_RELAXED);
}
}
if (!handler) {
@ -1554,7 +1554,7 @@ static struct codec_handler *codec_handler_get_rtp(struct call_media *m, int pay
return NULL;
struct codec_handler lookup = __codec_handler_lookup_struct(payload_type, sink);
h = g_atomic_pointer_get(&m->codec_handler_cache);
h = __atomic_load_n(&m->codec_handler_cache, __ATOMIC_RELAXED);
if (G_LIKELY(h) && G_LIKELY(__codec_handler_eq(&lookup, h)))
return h;
@ -1564,7 +1564,7 @@ static struct codec_handler *codec_handler_get_rtp(struct call_media *m, int pay
if (!h)
return NULL;
g_atomic_pointer_set(&m->codec_handler_cache, h);
__atomic_store_n(&m->codec_handler_cache, h, __ATOMIC_RELAXED);
return h;
}

Loading…
Cancel
Save