aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2010-10-11 18:48:15 +0000
committerrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2010-10-11 18:48:15 +0000
commitdd96a06d31cbfb274fba5655bcfbcedaf7f7d5e4 (patch)
tree3a11c90ba6518fe4b6b6ae163dd745d61f2fb928 /channels
parent9c92ba19d159fb6d167b7018de9c47596383e37c (diff)
Merged revisions 291110-291111 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r291110 | rmudgett | 2010-10-11 13:34:22 -0500 (Mon, 11 Oct 2010) | 9 lines Merged revisions 291109 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r291109 | rmudgett | 2010-10-11 13:29:43 -0500 (Mon, 11 Oct 2010) | 1 line Add missing unlock to an exception condition in reload_config(). ........ ................ r291111 | rmudgett | 2010-10-11 13:39:06 -0500 (Mon, 11 Oct 2010) | 1 line Make exit from handle_request_do() consistent. ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@291112 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 3772c5a68..802f13dea 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -23412,9 +23412,13 @@ static int handle_request_register(struct sip_pvt *p, struct sip_request *req, s
return res;
}
-/*! \brief Handle incoming SIP requests (methods)
-\note This is where all incoming requests go first */
-/* called with p and p->owner locked */
+/*!
+ * \brief Handle incoming SIP requests (methods)
+ * \note
+ * This is where all incoming requests go first.
+ * \note
+ * called with p and p->owner locked
+ */
static int handle_incoming(struct sip_pvt *p, struct sip_request *req, struct ast_sockaddr *addr, int *recount, int *nounlock)
{
/* Called with p->lock held, as well as p->owner->lock if appropriate, keeping things
@@ -23913,8 +23917,8 @@ static int handle_request_do(struct sip_request *req, struct ast_sockaddr *addr)
if (p->owner && !nounlock)
ast_channel_unlock(p->owner);
sip_pvt_unlock(p);
- ast_mutex_unlock(&netlock);
ao2_t_ref(p, -1, "throw away dialog ptr from find_call at end of routine"); /* p is gone after the return */
+ ast_mutex_unlock(&netlock);
return 1;
}
@@ -27082,6 +27086,7 @@ static int reload_config(enum channelreloadreason reason)
if (sipsock < 0) {
ast_log(LOG_WARNING, "Unable to create SIP socket: %s\n", strerror(errno));
ast_config_destroy(cfg);
+ ast_mutex_unlock(&netlock);
return -1;
} else {
/* Allow SIP clients on the same host to access us: */