aboutsummaryrefslogtreecommitdiffstats
path: root/funcs
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-21 21:58:29 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-21 21:58:29 +0000
commit3d3dbe7e24a0ef1b3ca69c8b5f711c92bbb13981 (patch)
tree124d17a1f2852366dd19ec40b104b18e2fbad557 /funcs
parent86d0d7a8c6d9e4ec24bc220ae562a408e990c9bf (diff)
use ast_atomic_fetchadd_int for incrementing resultcount
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80226 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'funcs')
-rw-r--r--funcs/func_odbc.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/funcs/func_odbc.c b/funcs/func_odbc.c
index ee80fcc98..f9272fe88 100644
--- a/funcs/func_odbc.c
+++ b/funcs/func_odbc.c
@@ -94,7 +94,6 @@ struct odbc_datastore {
AST_LIST_HEAD_STATIC(queries, acf_odbc_query);
static int resultcount = 0;
-AST_MUTEX_DEFINE_STATIC(resultlock);
static void odbc_datastore_free(void *data)
{
@@ -448,9 +447,7 @@ end_acf_read:
if (resultset) {
int uid;
struct ast_datastore *odbc_store;
- ast_mutex_lock(&resultlock);
- uid = ++resultcount;
- ast_mutex_unlock(&resultlock);
+ uid = ast_atomic_fetchadd_int(&resultcount, +1) + 1;
snprintf(buf, len, "%d", uid);
odbc_store = ast_channel_datastore_alloc(&odbc_info, buf);
if (!odbc_store) {