Merged revisions 90310 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Fri, 30 Nov 2007 18:47:14 +0000 (18:47 +0000)
committerRussell Bryant <russell@russellbryant.com>
Fri, 30 Nov 2007 18:47:14 +0000 (18:47 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90310 | russell | 2007-11-30 12:46:46 -0600 (Fri, 30 Nov 2007) | 2 lines

Add some notes on the behavior of ao2_unlink() after a discussion with Tilghman

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90311 65c4cc65-6c06-0410-ace0-fbb531ad65f3

include/asterisk/astobj2.h

index bef3c9a..4c35c46 100644 (file)
@@ -364,7 +364,24 @@ int ao2_container_count(struct ao2_container *c);
  * \note Remember to set the key before calling this function.
  */
 void *ao2_link(struct ao2_container *c, void *newobj);
-void *ao2_unlink(struct ao2_container *c, void *newobj);
+/*!
+ * \brief Remove an object from the container
+ *
+ * \arg c the container
+ * \arg obj the object to unlink
+ *
+ * \retval NULL, always
+ *
+ * \note The object requested to be unlinked must be valid.  However, if it turns
+ *       out that it is not in the container, this function is still safe to
+ *       be called.
+ *
+ * \note If the object gets unlinked from the container, the container's
+ *       reference to the object will be automatically released.  This is
+ *       slightly different than ao2_link(), which inherits a reference instead
+ *       of automatically increasing the reference count.
+ */
+void *ao2_unlink(struct ao2_container *c, void *obj);
 
 /*! \brief Used as return value if the flag OBJ_MULTIPLE is set */
 struct ao2_list {