[asterisk-commits] file: branch group/pimp_my_sip r385684 - /team/group/pimp_my_sip/channels/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Apr 15 09:40:15 CDT 2013
Author: file
Date: Mon Apr 15 09:40:11 2013
New Revision: 385684
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=385684
Log:
Fix a deadlock due to queueing a frame from a threadpool thread while holding the channel lock in another thread.
Modified:
team/group/pimp_my_sip/channels/chan_gulp.c
Modified: team/group/pimp_my_sip/channels/chan_gulp.c
URL: http://svnview.digium.com/svn/asterisk/team/group/pimp_my_sip/channels/chan_gulp.c?view=diff&rev=385684&r1=385683&r2=385684
==============================================================================
--- team/group/pimp_my_sip/channels/chan_gulp.c (original)
+++ team/group/pimp_my_sip/channels/chan_gulp.c Mon Apr 15 09:40:11 2013
@@ -861,10 +861,10 @@
pjsip_tx_data *packet;
if (pjsip_inv_invite(session->inv_session, &packet) != PJ_SUCCESS) {
- return -1;
- }
-
- ast_sip_session_send_request(session, packet);
+ ast_queue_hangup(session->channel);
+ } else {
+ ast_sip_session_send_request(session, packet);
+ }
ao2_ref(session, -1);
return 0;
@@ -877,7 +877,7 @@
struct ast_sip_session *session = pvt->session;
ao2_ref(session, +1);
- if (ast_sip_push_task_synchronous(session->serializer, call, session)) {
+ if (ast_sip_push_task(session->serializer, call, session)) {
ast_log(LOG_WARNING, "Error attempting to place outbound call to call '%s'\n", dest);
ao2_cleanup(session);
return -1;
More information about the asterisk-commits
mailing list