Test that shutdown callback is called when expected.
authorMark Michelson <mmichelson@digium.com>
Fri, 16 Nov 2012 05:00:42 +0000 (05:00 +0000)
committerMark Michelson <mmichelson@digium.com>
Fri, 16 Nov 2012 05:00:42 +0000 (05:00 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376383 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/taskprocessor.c
tests/test_taskprocessor.c

index 49e951f..78118ed 100644 (file)
@@ -565,6 +565,7 @@ struct ast_taskprocessor *ast_taskprocessor_create_with_listener(const char *nam
 void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps)
 {
        struct ast_taskprocessor_listener *listener;
+
        if (!tps) {
                return NULL;
        }
index 424449d..2ad172f 100644 (file)
@@ -239,8 +239,16 @@ AST_TEST_DEFINE(taskprocessor_listener)
                goto test_exit;
        }
 
+       tps = ast_taskprocessor_unreference(tps);
+
+       if (!pvt->shutdown) {
+               res = AST_TEST_FAIL;
+               goto test_exit;
+       }
+
 test_exit:
        ao2_ref(listener, -1);
+       /* This is safe even if tps is NULL */
        ast_taskprocessor_unreference(tps);
        return res;
 }