diff options
Diffstat (limited to 'include/asterisk')
-rw-r--r-- | include/asterisk/astobj2.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/include/asterisk/astobj2.h b/include/asterisk/astobj2.h index bef3c9a79..4c35c4641 100644 --- a/include/asterisk/astobj2.h +++ b/include/asterisk/astobj2.h @@ -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 { |