From af2dd3a6785375334d85ec74051b6af75927832d Mon Sep 17 00:00:00 2001
From: Sean Bright <sean.bright@gmail.com>
Date: Thu, 15 Feb 2018 15:30:35 -0500
Subject: [PATCH] bridge_roles: Use a non-locking linked list where appropriate

Also explicitly initialize with the AST_LIST_HEAD_NOLOCK_INIT macro for
clarity.

Change-Id: I4bc39ec33bc3ff77e1a971a01ace87deb965be3f
---
 main/bridge_roles.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/main/bridge_roles.c b/main/bridge_roles.c
index a9b95a3521..6dbae6fa7d 100644
--- a/main/bridge_roles.c
+++ b/main/bridge_roles.c
@@ -51,12 +51,12 @@ struct bridge_role_option {
 
 struct bridge_role {
 	AST_LIST_ENTRY(bridge_role) list;
-	AST_LIST_HEAD(, bridge_role_option) options;
+	AST_LIST_HEAD_NOLOCK(, bridge_role_option) options;
 	char role[AST_ROLE_LEN];
 };
 
 struct bridge_roles_datastore {
-	AST_LIST_HEAD(, bridge_role) role_list;
+	AST_LIST_HEAD_NOLOCK(, bridge_role) role_list;
 };
 
 /*!
@@ -128,6 +128,8 @@ static struct bridge_roles_datastore *setup_bridge_roles_datastore(struct ast_ch
 		return NULL;
 	}
 
+	AST_LIST_HEAD_INIT_NOLOCK(&roles_datastore->role_list);
+
 	datastore->data = roles_datastore;
 	ast_channel_datastore_add(chan, datastore);
 	return roles_datastore;
@@ -264,6 +266,8 @@ static int setup_bridge_role(struct bridge_roles_datastore *roles_datastore, con
 		return -1;
 	}
 
+	AST_LIST_HEAD_INIT_NOLOCK(&role->options);
+
 	ast_copy_string(role->role, role_name, sizeof(role->role));
 
 	AST_LIST_INSERT_TAIL(&roles_datastore->role_list, role, list);
-- 
GitLab