diff options
-rw-r--r-- | apps/app_skel.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/apps/app_skel.c b/apps/app_skel.c index 5fdd98a44..55830ebee 100644 --- a/apps/app_skel.c +++ b/apps/app_skel.c @@ -46,7 +46,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/module.h" #include "asterisk/lock.h" #include "asterisk/app.h" -#include "asterisk/utils.h" static char *app = "Skel"; static char *synopsis = @@ -73,26 +72,28 @@ AST_APP_OPTIONS(app_opts,{ AST_APP_OPTION_ARG('c', OPTION_C, OPTION_ARG_C), }); -static void *dogballs(void *shit) -{ - ast_log(LOG_NOTICE, "Oh GOD!! I am a thread magician!!\n"); - return NULL; -} static int app_exec(struct ast_channel *chan, void *data) { - int i; + int res = 0; + struct ast_flags flags; struct ast_module_user *u; - pthread_t thread; + char *parse, *opts[OPTION_ARG_ARRAY_SIZE]; + AST_DECLARE_APP_ARGS(args, + AST_APP_ARG(dummy); + AST_APP_ARG(options); + ); + + if (ast_strlen_zero(data)) { + ast_log(LOG_WARNING, "%s requires an argument (dummy|[options])\n", app); + return -1; + } u = ast_module_user_add(chan); /* Do our thing here */ - for (i = 0; i < 100; ++i) { - ast_pthread_create(&thread, NULL, dogballs, NULL); - } -/* + /* We need to make a copy of the input string if we are going to modify it! */ parse = ast_strdupa(data); AST_STANDARD_APP_ARGS(args, parse); @@ -111,10 +112,10 @@ static int app_exec(struct ast_channel *chan, void *data) if (ast_test_flag(&flags, OPTION_C)) ast_log(LOG_NOTICE, "Option C is set with : %s\n", opts[OPTION_ARG_C] ? opts[OPTION_ARG_C] : "<unspecified>"); -*/ + ast_module_user_remove(u); - return 0; + return res; } static int unload_module(void) |