fix deadlock issues with astmm

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jeremy McNamara
2004-01-11 22:36:37 +00:00
parent f102ce6f26
commit 673814eac5

View File

@@ -57,6 +57,7 @@ static struct ast_region {
(((unsigned long)(a)) % SOME_PRIME)
static ast_mutex_t reglock = AST_MUTEX_INITIALIZER;
static ast_mutex_t showmemorylock = AST_MUTEX_INITIALIZER;
static inline void *__ast_alloc_region(size_t size, int which, const char *file, int lineno, const char *func)
{
@@ -227,7 +228,7 @@ static int handle_show_memory(int fd, int argc, char *argv[])
fn = argv[3];
/* try to lock applications list ... */
ast_mutex_lock(&reglock);
ast_mutex_lock(&showmemorylock);
for (x=0;x<SOME_PRIME;x++) {
reg = regions[x];
@@ -241,7 +242,7 @@ static int handle_show_memory(int fd, int argc, char *argv[])
}
}
ast_cli(fd, "%d bytes allocated %d units total\n", len, count);
ast_mutex_unlock(&reglock);
ast_mutex_unlock(&showmemorylock);
return RESULT_SUCCESS;
}