summaryrefslogtreecommitdiff
path: root/main/taskprocessor.c
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2012-12-07 19:05:30 +0000
committerMark Michelson <mmichelson@digium.com>2012-12-07 19:05:30 +0000
commit3a25935f7d0109aa63da14589790bd695fd1164c (patch)
tree536b4c0d0f728944fcf37d9ec48ec2f420c6ecb6 /main/taskprocessor.c
parentec29862a92eec18050ade673e924ecb72f04985f (diff)
Fix infinite looping and crash problem.
MALLOC_DEBUG is complaining about corrupted memory on taskprocessor listeners, but I'm not seeing it, nor is valgrind. Not sure what's up there. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/taskprocessor.c')
-rw-r--r--main/taskprocessor.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/main/taskprocessor.c b/main/taskprocessor.c
index 80875ec4a..1a768de2f 100644
--- a/main/taskprocessor.c
+++ b/main/taskprocessor.c
@@ -581,8 +581,6 @@ struct ast_taskprocessor *ast_taskprocessor_create_with_listener(const char *nam
/* decrement the taskprocessor reference count and unlink from the container if necessary */
void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps)
{
- struct ast_taskprocessor_listener *listener;
-
if (!tps) {
return NULL;
}
@@ -596,10 +594,7 @@ void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps)
* 3. The listener
*/
ao2_unlink(tps_singletons, tps);
- listener = tps->listener;
- tps->listener = NULL;
- listener_shutdown(listener);
- ao2_ref(listener, -1);
+ listener_shutdown(tps->listener);
return NULL;
}