summaryrefslogtreecommitdiff
path: root/apps/app_meetme.c
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2013-04-22 01:05:43 +0000
committerRussell Bryant <russell@russellbryant.com>2013-04-22 01:05:43 +0000
commit1cb52c60269f25a9cd7d435c50581e48e1a81f2d (patch)
tree5c35ed4ba14ba9838e0f862b5ede8a0408c90777 /apps/app_meetme.c
parent511cf82367d99b9e8cce1fa8ea28050211e507a1 (diff)
sla: remove redundant locking.
sla.lock was already locked in the only place that sla_check_reload() was called. Remove the redundant locking of sla.lock done in this function. Less recursive locking is A Good Thing. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_meetme.c')
-rw-r--r--apps/app_meetme.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 37ba39a0e..0ff035afc 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -6437,17 +6437,18 @@ static int sla_process_timers(struct timespec *ts)
static int sla_load_config(int reload);
-/*! \brief Check if we can do a reload of SLA, and do it if we can */
+/*!
+ * \internal
+ * \brief Check if we can do a reload of SLA, and do it if we can
+ * \pre sla.lock is locked.
+ */
static void sla_check_reload(void)
{
struct sla_station *station;
struct sla_trunk *trunk;
- ast_mutex_lock(&sla.lock);
-
if (!AST_LIST_EMPTY(&sla.event_q) || !AST_LIST_EMPTY(&sla.ringing_trunks)
|| !AST_LIST_EMPTY(&sla.ringing_stations)) {
- ast_mutex_unlock(&sla.lock);
return;
}
@@ -6458,7 +6459,6 @@ static void sla_check_reload(void)
}
AST_RWLIST_UNLOCK(&sla_stations);
if (station) {
- ast_mutex_unlock(&sla.lock);
return;
}
@@ -6469,15 +6469,12 @@ static void sla_check_reload(void)
}
AST_RWLIST_UNLOCK(&sla_trunks);
if (trunk) {
- ast_mutex_unlock(&sla.lock);
return;
}
/* yay */
sla_load_config(1);
sla.reload = 0;
-
- ast_mutex_unlock(&sla.lock);
}
static void *sla_thread(void *data)