summaryrefslogtreecommitdiff
path: root/main/bridge_roles.c
diff options
context:
space:
mode:
authorSean Bright <sean.bright@gmail.com>2018-02-15 15:30:35 -0500
committerSean Bright <sean.bright@gmail.com>2018-02-15 14:31:32 -0600
commitaf2dd3a6785375334d85ec74051b6af75927832d (patch)
tree7c4a7cf9dd532143f19a3c280333e648bc1ee74c /main/bridge_roles.c
parentbe2292a2f51fbe05945998f183572ab1ca6473dc (diff)
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
Diffstat (limited to 'main/bridge_roles.c')
-rw-r--r--main/bridge_roles.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/main/bridge_roles.c b/main/bridge_roles.c
index a9b95a352..6dbae6fa7 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);