astobj2: Add ao2_weakproxy_find function.

This function finds a weak proxy in an ao2_container and returns the
real object associated with it.

Change-Id: I9da822049747275f5961b5c0a7f14e87157d65d8
This commit is contained in:
Corey Farrell
2017-10-09 18:51:05 -04:00
parent fd3101e8ad
commit b058f8673a
2 changed files with 53 additions and 0 deletions

View File

@@ -1775,6 +1775,17 @@ void *__ao2_callback_data(struct ao2_container *c, enum search_flags flags,
void *__ao2_find(struct ao2_container *c, const void *arg, enum search_flags flags,
const char *tag, const char *file, int line, const char *func);
/*!
* \brief Perform an ao2_find on a container with ao2_weakproxy objects, returning the real object.
*
* \note Only OBJ_SEARCH_* and OBJ_NOLOCK flags are supported by this function.
* \see ao2_callback for description of arguments.
*/
#define ao2_weakproxy_find(c, arg, flags, tag) \
__ao2_weakproxy_find(c, arg, flags, tag, __FILE__, __LINE__, __PRETTY_FUNCTION__)
void *__ao2_weakproxy_find(struct ao2_container *c, const void *arg, enum search_flags flags,
const char *tag, const char *file, int line, const char *func);
/*! \brief
*
*