diff options
author | mkrokosz <mkrokosz@vonage.com> | 2016-10-28 14:30:02 -0400 |
---|---|---|
committer | mkrokosz <mkrokosz@vonage.com> | 2016-10-28 14:30:02 -0400 |
commit | 9d8b9b6ca5a47911c50f61696b2bc9978ab1ff80 (patch) | |
tree | 529ccdcc2efdecdd6dab92b22249c91f3fd7df2e | |
parent | 0ec5abe59286ed02377c2d7fe25d2e2e9babc58a (diff) |
res_pjsip_outbound_publish: Fix crash when publishing device state.
While publishing device state between multiple instances of Asterisk,
a crash will sporadically occur under high CPS which looks to be a
race condition operating on the publisher queue.
ASTERISK-26506
Change-Id: I28da25d346deb358eff1d563485cabc433ce1ed6
-rw-r--r-- | res/res_pjsip_outbound_publish.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/res/res_pjsip_outbound_publish.c b/res/res_pjsip_outbound_publish.c index 0aad5fcdb..87680480c 100644 --- a/res/res_pjsip_outbound_publish.c +++ b/res/res_pjsip_outbound_publish.c @@ -786,6 +786,7 @@ static int publisher_client_send(void *obj, void *arg, void *data, int flags) struct sip_outbound_publish_message *message; size_t type_len = 0, subtype_len = 0, body_text_len = 0; int *res = data; + SCOPED_AO2LOCK(lock, publisher); *res = -1; if (!publisher->client) { |