提交 4555b711 authored 作者: Anthony Minessale's avatar Anthony Minessale

declinatio mortuus obfirmo!

上级 00170558
...@@ -406,6 +406,7 @@ SWITCH_STANDARD_API(hash_api_function) ...@@ -406,6 +406,7 @@ SWITCH_STANDARD_API(hash_api_function)
switch_assert(value); switch_assert(value);
switch_core_hash_insert(globals.db_hash, hash_key, value); switch_core_hash_insert(globals.db_hash, hash_key, value);
stream->write_function(stream, "+OK\n"); stream->write_function(stream, "+OK\n");
switch_thread_rwlock_unlock(globals.db_hash_rwlock);
} else if (!strcasecmp(argv[0], "delete")) { } else if (!strcasecmp(argv[0], "delete")) {
switch_thread_rwlock_wrlock(globals.db_hash_rwlock); switch_thread_rwlock_wrlock(globals.db_hash_rwlock);
if ((value = switch_core_hash_find(globals.db_hash, hash_key))) { if ((value = switch_core_hash_find(globals.db_hash, hash_key))) {
...@@ -415,11 +416,13 @@ SWITCH_STANDARD_API(hash_api_function) ...@@ -415,11 +416,13 @@ SWITCH_STANDARD_API(hash_api_function)
} else { } else {
stream->write_function(stream, "-ERR Not found\n"); stream->write_function(stream, "-ERR Not found\n");
} }
switch_thread_rwlock_unlock(globals.db_hash_rwlock);
} else if (!strcasecmp(argv[0], "select")) { } else if (!strcasecmp(argv[0], "select")) {
switch_thread_rwlock_rdlock(globals.db_hash_rwlock); switch_thread_rwlock_rdlock(globals.db_hash_rwlock);
if ((value = switch_core_hash_find(globals.db_hash, hash_key))) { if ((value = switch_core_hash_find(globals.db_hash, hash_key))) {
stream->write_function(stream, "%s", value); stream->write_function(stream, "%s", value);
} }
switch_thread_rwlock_unlock(globals.db_hash_rwlock);
} else { } else {
goto usage; goto usage;
} }
...@@ -430,7 +433,7 @@ SWITCH_STANDARD_API(hash_api_function) ...@@ -430,7 +433,7 @@ SWITCH_STANDARD_API(hash_api_function)
stream->write_function(stream, "-ERR Usage: hash %s\n", HASH_API_USAGE); stream->write_function(stream, "-ERR Usage: hash %s\n", HASH_API_USAGE);
done: done:
switch_thread_rwlock_unlock(globals.db_hash_rwlock);
switch_safe_free(mydata); switch_safe_free(mydata);
switch_safe_free(hash_key); switch_safe_free(hash_key);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论