diff options
author | Mark Michelson <mmichelson@digium.com> | 2013-04-25 18:25:31 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2013-04-25 18:25:31 +0000 |
commit | 74f2318051ca04c240d3b111397365837fb618b6 (patch) | |
tree | ef7ddfc3ce21969c93a5e4ab8adf60b12df2f4d9 /main | |
parent | b4c881c86ec8f823dba15bb69eb2cb9f3c7aeb88 (diff) |
Merge the pimp_my_sip branch into trunk.
The pimp_my_sip branch is being merged at this point because
it offers basic functionality, and from an API standpoint, things
are complete.
SIP work is *not* feature-complete; however, with the completion
of the SUBSCRIBE/NOTIFY API, all APIs (except a PUBLISH API) have
been created, and thus it is possible for developers to attempt
to create new SIP work.
API documentation can be found in the doxygen in the code, but
usability documentation is still lacking.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r-- | main/astobj2.c | 1 | ||||
-rw-r--r-- | main/loader.c | 1 | ||||
-rw-r--r-- | main/sorcery.c | 3 | ||||
-rw-r--r-- | main/taskprocessor.c | 1 | ||||
-rw-r--r-- | main/threadpool.c | 6 |
5 files changed, 10 insertions, 2 deletions
diff --git a/main/astobj2.c b/main/astobj2.c index 72a171de9..a980ec379 100644 --- a/main/astobj2.c +++ b/main/astobj2.c @@ -525,6 +525,7 @@ int __ao2_ref_debug(void *user_data, int delta, const char *tag, const char *fil struct astobj2 *obj = INTERNAL_OBJ(user_data); if (obj == NULL) { + ast_backtrace(); ast_assert(0); return -1; } diff --git a/main/loader.c b/main/loader.c index 5befafb55..10d5485da 100644 --- a/main/loader.c +++ b/main/loader.c @@ -842,6 +842,7 @@ static enum ast_module_load_result start_resource(struct ast_module *mod) return AST_MODULE_LOAD_FAILURE; } + printf ("!!! Going to load %s\n", mod->resource); res = mod->info->load(); switch (res) { diff --git a/main/sorcery.c b/main/sorcery.c index 8b555222d..44e247a38 100644 --- a/main/sorcery.c +++ b/main/sorcery.c @@ -740,7 +740,7 @@ int ast_sorcery_objectset_apply(const struct ast_sorcery *sorcery, void *object, } if (!res && object_type->apply) { - object_type->apply(sorcery, object); + res = object_type->apply(sorcery, object); } return res; @@ -940,6 +940,7 @@ void *ast_sorcery_retrieve_by_fields(const struct ast_sorcery *sorcery, const ch unsigned int cached = 0; if (!object_type) { + ast_log(LOG_NOTICE, "Can't find object type '%s'\n", type); return NULL; } diff --git a/main/taskprocessor.c b/main/taskprocessor.c index 35076b06e..a8d1c80f9 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -602,7 +602,6 @@ struct ast_taskprocessor *ast_taskprocessor_get(const char *name, enum ast_tps_o /* Unref listener here since the taskprocessor has gained a reference to the listener */ ao2_ref(listener, -1); return p; - } struct ast_taskprocessor *ast_taskprocessor_create_with_listener(const char *name, struct ast_taskprocessor_listener *listener) diff --git a/main/threadpool.c b/main/threadpool.c index e2fdecc57..1ff76014a 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -983,7 +983,13 @@ static void *worker_start(void *arg) { struct worker_thread *worker = arg; + if (worker->options.thread_start) { + worker->options.thread_start(); + } worker_active(worker); + if (worker->options.thread_end) { + worker->options.thread_end(); + } return NULL; } |