diff options
Diffstat (limited to 'main/manager.c')
-rw-r--r-- | main/manager.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/main/manager.c b/main/manager.c index 0b20fafba..4f53663be 100644 --- a/main/manager.c +++ b/main/manager.c @@ -438,7 +438,6 @@ void astman_append(struct mansession *s, const char *fmt, ...) ast_mutex_unlock(&s->__lock); } -/*! \note The actionlock is read-locked by the caller of this function */ static int handle_showmancmd(int fd, int argc, char *argv[]) { struct manager_action *cur; @@ -448,6 +447,7 @@ static int handle_showmancmd(int fd, int argc, char *argv[]) if (argc != 4) return RESULT_SHOWUSAGE; + ast_rwlock_rdlock(&actionlock); for (cur = first_action; cur; cur = cur->next) { /* Walk the list of actions */ for (num = 3; num < argc; num++) { if (!strcasecmp(cur->action, argv[num])) { @@ -455,6 +455,7 @@ static int handle_showmancmd(int fd, int argc, char *argv[]) } } } + ast_rwlock_unlock(&actionlock); return RESULT_SUCCESS; } |