diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-07-13 20:14:23 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-07-13 20:14:23 +0000 |
commit | 439bb4a2575e419908875e7bab3bbf23b4d9c43f (patch) | |
tree | 6a91510cfb09408299a7bc658caec892c95661b1 /res/res_musiconhold.c | |
parent | 4898d3cdccd72605ab051279a6e8fe499cabe6f2 (diff) |
Merged revisions 75067 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r75067 | russell | 2007-07-13 15:10:40 -0500 (Fri, 13 Jul 2007) | 14 lines
Merged revisions 75059 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r75059 | russell | 2007-07-13 15:07:21 -0500 (Fri, 13 Jul 2007) | 6 lines
Ensure that adding a user to the list of users of a specific music on hold
class is not done at the same time as any of the other operations on this list
to prevent list corruption. Using the global moh_data lock for this is not
ideal, but it is what is used to protect these lists everywhere else in the
module, and I am only changing what is necessary to fix the bug.
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75075 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_musiconhold.c')
-rw-r--r-- | res/res_musiconhold.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c index 13509fcbd..84a44f3b7 100644 --- a/res/res_musiconhold.c +++ b/res/res_musiconhold.c @@ -695,7 +695,10 @@ static struct mohdata *mohalloc(struct mohclass *cl) moh->f.offset = AST_FRIENDLY_OFFSET; moh->parent = cl; + + AST_RWLIST_WRLOCK(&mohclasses); AST_LIST_INSERT_HEAD(&cl->members, moh, list); + AST_RWLIST_UNLOCK(&mohclasses); return moh; } |