diff options
author | rmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-10-11 18:48:15 +0000 |
---|---|---|
committer | rmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-10-11 18:48:15 +0000 |
commit | dd96a06d31cbfb274fba5655bcfbcedaf7f7d5e4 (patch) | |
tree | 3a11c90ba6518fe4b6b6ae163dd745d61f2fb928 /channels | |
parent | 9c92ba19d159fb6d167b7018de9c47596383e37c (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.c | 13 |
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: */ |