[asterisk-commits] rizzo: branch rizzo/astobj2 r47297 -
/team/rizzo/astobj2/main/astobj2.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Tue Nov 7 16:01:30 MST 2006
Author: rizzo
Date: Tue Nov 7 17:01:29 2006
New Revision: 47297
URL: http://svn.digium.com/view/asterisk?rev=47297&view=rev
Log:
should increment, not decrement the version number.
also track the number of elements in the container, but this
needs a fix in the callback to count how many elements are deleted
(here and elsewhere). Probably the fix should be applied elsewhere, in fact.
Modified:
team/rizzo/astobj2/main/astobj2.c
Modified: team/rizzo/astobj2/main/astobj2.c
URL: http://svn.digium.com/view/asterisk/team/rizzo/astobj2/main/astobj2.c?rev=47297&r1=47296&r2=47297&view=diff
==============================================================================
--- team/rizzo/astobj2/main/astobj2.c (original)
+++ team/rizzo/astobj2/main/astobj2.c Tue Nov 7 17:01:29 2006
@@ -282,7 +282,9 @@
// ast_verbose("unlinking %p from container\n", user_data);
astobj2_callback(c, OBJ_SINGLE | OBJ_UNLINK | OBJ_POINTER, match_by_addr, user_data);
/* the container has changed its content, so we update the version */
- ast_atomic_fetchadd_int(&c->version, -1);
+ ast_atomic_fetchadd_int(&c->version, 1);
+ /* XXX actually we should check whether the callback succeeds or not */
+ ast_atomic_fetchadd_int(&c->elements, -1);
astobj2_ref(user_data, -1);
return NULL;
}
More information about the asterisk-commits
mailing list