sla: remove redundant locking.
authorRussell Bryant <russell@russellbryant.com>
Mon, 22 Apr 2013 01:05:43 +0000 (01:05 +0000)
committerRussell Bryant <russell@russellbryant.com>
Mon, 22 Apr 2013 01:05:43 +0000 (01:05 +0000)
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

apps/app_meetme.c

index 37ba39a..0ff035a 100644 (file)
@@ -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)