From 9eb8e7d665f7ddbfa067ad00bd3900820ba3686a Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Fri, 25 Apr 2008 22:04:46 +0000
Subject: [PATCH] Lock the channel around datastore access

(closes issue #12527)
Reported by: mnicholson
Patches:
      pbx_lua4.diff uploaded by mnicholson (license 96)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 pbx/pbx_lua.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pbx/pbx_lua.c b/pbx/pbx_lua.c
index a23b31ee2e..6302ac6555 100644
--- a/pbx/pbx_lua.c
+++ b/pbx/pbx_lua.c
@@ -982,7 +982,9 @@ static lua_State *lua_get_state(struct ast_channel *chan)
 		}
 		return L;
 	} else {
+		ast_channel_lock(chan);
 		datastore = ast_channel_datastore_find(chan, &lua_datastore, NULL);
+		ast_channel_unlock(chan);
 
 		if (!datastore) {
 			/* nothing found, allocate a new lua state */
-- 
GitLab