Revert a previous regression in astobj2.c from merging a branch.
authorBrett Bryant <bbryant@digium.com>
Tue, 17 Jun 2008 22:24:45 +0000 (22:24 +0000)
committerBrett Bryant <bbryant@digium.com>
Tue, 17 Jun 2008 22:24:45 +0000 (22:24 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123575 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/astobj2.c

index e9e2db7..d8aaca1 100644 (file)
@@ -930,6 +930,12 @@ static char *handle_astobj2_test(struct ast_cli_entry *e, int cmd, struct ast_cl
                ast_cli(a->fd, "object %d allocated as %p\n", i, obj);
                sprintf(obj, "-- this is obj %d --", i);
                ao2_link(c1, obj);
+               /* At this point, the refcount on obj is 2 due to the allocation
+                * and linking. We can go ahead and reduce the refcount by 1
+                * right here so that when the container is unreffed later, the
+                * objects will be freed
+                */
+               ao2_t_ref(obj, -1, "test");
        }
        ast_cli(a->fd, "testing callbacks\n");
        ao2_t_callback(c1, 0, print_cb, &a->fd,"test callback");