[asterisk-commits] qwell: trunk r97620 - in /trunk: ./ main/cli.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Jan 9 14:13:15 CST 2008
Author: qwell
Date: Wed Jan 9 14:13:14 2008
New Revision: 97620
URL: http://svn.digium.com/view/asterisk?view=rev&rev=97620
Log:
Merged revisions 97618 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r97618 | qwell | 2008-01-09 14:05:45 -0600 (Wed, 09 Jan 2008) | 1 line
Fix some locking and return value funkiness. We really shouldn't be unlocking this lock inside of a function, unless we locked it there too.
........
Modified:
trunk/ (props changed)
trunk/main/cli.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: trunk/main/cli.c
URL: http://svn.digium.com/view/asterisk/trunk/main/cli.c?view=diff&rev=97620&r1=97619&r2=97620
==============================================================================
--- trunk/main/cli.c (original)
+++ trunk/main/cli.c Wed Jan 9 14:13:14 2008
@@ -1576,6 +1576,7 @@
{
char fullcmd[80];
struct ast_cli_entry *my_e;
+ char *res = CLI_SUCCESS;
if (cmd == CLI_INIT) {
e->command = "help";
@@ -1600,8 +1601,11 @@
AST_RWLIST_RDLOCK(&helpers);
my_e = find_cli(a->argv + 1, 1); /* try exact match first */
- if (!my_e)
- return help1(a->fd, a->argv + 1, 1 /* locked */);
+ if (!my_e) {
+ res = help1(a->fd, a->argv + 1, 1 /* locked */);
+ AST_RWLIST_UNLOCK(&helpers);
+ return res;
+ }
if (my_e->usage)
ast_cli(a->fd, "%s", my_e->usage);
else {
@@ -1609,7 +1613,7 @@
ast_cli(a->fd, "No help text available for '%s'.\n", fullcmd);
}
AST_RWLIST_UNLOCK(&helpers);
- return CLI_SUCCESS;
+ return res;
}
static char *parse_args(const char *s, int *argc, char *argv[], int max, int *trailingwhitespace)
More information about the asterisk-commits
mailing list